Docker基本部署及基本控制命令

一、Docker概述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,两者之间完全独立。

二、与虚拟机的比较

三、Docker核心概念

镜像(Image): 类似虚拟机镜像

容器(Container): 类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。

仓库(Repository): 每个仓库存放某一类镜像。

容器、仓库、镜像运行关系图:

四、Docker基本部署

1、安装环境包

yum install -y yum-utils device-mapper-persistent-data lvm2

2、使用阿里的docker仓库

[[email protected] ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//安装docker-ce
[[email protected] ~]# yum install -y docker-ce 

3、加速镜像的下载

[[email protected] docker]# tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors" : ["https://abc1234.mirror.aliyuncs.com"]        //加速器地址由阿里云官网自行获取(这里是随便写的)
}
EOF
[[email protected] ~]# systemctl daemon-reload               //刷新全局
[[email protected] ~]# systemctl restart docker

五、Docker基本控制命令

(一)镜像篇

1、搜索镜像

docker search 关键字

2、获取镜像

docker pull 仓库名[:标签]

3、查看已存在的所有镜像

docker images
4、查看镜像信息

docker images 仓库名[:标签]

docker inspect 镜像ID号

5、更改原有标签

docker tag 原名称[:原标签] 新名称[:新标签]

6、删除镜像

docker rmi 仓库名[:标签]

7、导出镜像
docker save -o 保存文件名 保存的镜像名

8、载入镜像
docker load --input 保存文件名

docker load < 保存文件名

9、上传镜像
docker push 仓库名[:标签]

(二)容器篇

1、创建容器
docker create [选项] 运行的镜像 /bin/bash环境

常用选项:
“-i” 容器的标准输入常开
“-t” 让docker分配一个伪终端

2、查看容器运行状态
docker ps [选项]

常用选项:
“-a” 列出最近一次启动的容器

3、启动容器
docker start 容器ID/名称

4、终止容器
docker stop 容器ID/名称

5、创建容器并启动执行shell命令
docker run [选项] 容器名 执行的命令

常用选项:
“-d” 在后台运行

run 执行镜像流程:
创建容器→启动容器→进入容器执行命令→退出容器
若镜像不存在则会多出下载镜像这一步

实例
//以/usr/bin/bash交互模式,启动paigeeworld/centos7容器,执行ls /命令
    docker run paigeeworld/centos7 /usr/bin/bash -c ls /

6、进入容器
docker exec [选项] 容器ID/名称 /bin/bash

#以交互模式执行容器

7、导出容器
docker export 容器ID/名称 > 保存文件名

8、导入容器(仅能导入容器中的镜像,容器需要手动创建)
cat 保存文件名 | docker import -生成的镜像名:标签

9、删除容器
docker rm [选项] 容器ID/名称

10、批量删除容器
docker ps -a | awk ‘{"docker rm "$1}‘ | bash

原文地址:https://blog.51cto.com/14475593/2462880

时间: 2024-07-30 13:21:51

Docker基本部署及基本控制命令的相关文章

Docker基本部署及基本控制命令(理论篇)

Docker基本部署及基本控制命令 Docker概述 ? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口,两者之间完全独立. 与虚拟机的比较 特性 容器 虚拟机 启动速度 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于原生 系统支持量 单击支持上千个容器 一般几十个 隔离性 完全屏蔽底层 相对独立 Do

7条命令在docker中部署Mesos集群

7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务.ZooKeeper?-?https://registry.hub.docker.com/u/garland/zookeeper/Meso Master?-?https://registry.hub.docker.com/u/garland/mesosphere-docker-mesos-maste

Docker基本控制命令(二)

Docker基本控制命令(二) 资源控制 CPU使用率控制 限制该镜像本次建立的容器最大只能占总资源的10% docker run --cpu-quota 10000 centos 按比例分配 创建两个容器为c1和c2,若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为33.3%和66. 7% docker run -itd --name c1 --cpu-shares 512 centos(镜像名)docker run -itd --name c2 --cpu-shares 1

运维人员的解放----Docker快速部署

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

docker安装步骤及基于docker容器部署web应用LNMP服务器环境

docker的介绍 docker的定义: 1.docker的三个概念:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器Docker 镜像 - Docker images: Docker 镜像是 Docker 容器运行时的只读模板Docker 仓库 - Docker registeries: Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库(Docker Hub)Docker 容器 - Docker containers:每一个 Docke

Linux 上安装Docker 并部署netcor2.1

述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享底层系统资源的同时发挥它最大的优势.相比于虚拟机来说,同一服务器它可以创建出两倍的实例,这样一来,不仅节省了系统开销,而且利用率和性能也得到了提升,何乐而不为.最重要的一点是还帮助开发人员实现了"一次构建,到处运行"的理想! 那么Docker又是什么呢? Docker是基于Go语言开发并开

使用docker安装部署Spark集群来训练CNN(含Python实例)

使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器,每台有8个tesla-GPU,然而平时做实验都只使用了其中的一个GPU,实在暴遣天物! 于是想用spark来把这些GPU都利用起来.听闻d

在docker里部署网络服务

之前试着玩玩docker有一阵子了,今天算是头一回正式在docker里部署网络服务. 本来想和lxc差不多的东西那自然是手到擒来,没想到还是改了很多. 第一个遇到的问题是,远程连到docker宿主机干活的时候突然断网了.一下傻掉了,以前都是连内网,从来不断的.这次连了一个反向隧道,居然断了,傻眼了. 再连回去,发现docker ps里还有进程,好办,docker attach这个进程,就又进去了. 如果没有找到进程,就只要docker commit存一下,然后再docker run拉起来继续 如

在Docker下部署Nginx

在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_pass将HTTP请求反向代理到nodejs Web App 设置HTTPS 如果你还没有安装Docker环境,可参考在Docker中运行Node.js的Web应用. 最简单的命令,让Nginx跑起来 命令如下: 1 $ sudo docker run -it -p 80:80 dockerfile/