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

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

Docker概述

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

我们提供的服务有:做网站、成都网站设计、微信公众号开发、网站优化、网站认证、阿合奇ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的阿合奇网站制作公司

与虚拟机的比较

特性容器虚拟机
启动速度 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 弱于原生
系统支持量 单击支持上千个容器 一般几十个
隔离性 完全屏蔽底层 相对独立

Docker核心概念

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

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

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

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

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

Docker基本部署

1、安装环境包

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 

2、使用阿里的docker仓库

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

3、镜像下载加速

[root@localhost docker]# tee /etc/docker/daemon.json <

Docker基本控制命令

1、镜像篇

搜索镜像

docker search 关键字

获取镜像

docker pull 仓库名[:标签]

查看已存在的所有镜像

docker images

实例:

[root@localhost data]# docker images
REPOSITORY(仓库)            TAG(标签)                 IMAGE ID(镜像ID)            CREATED(创建时间)
nginx                  latest                   231d40e811cd                             4 weeks ago

查看镜像信息

docker images 仓库名[:标签]

docker inspect 镜像ID号

更改原有标签

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

删除镜像

docker rmi 仓库名[:标签]

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

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

docker load < 保存文件名

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

2、容器篇

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

常用选项:

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

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

常用选项:

“-a” 列出最近一次启动的容器

案例

CONTAINER ID(容器ID)        IMAGE(镜像名)                        COMMAND(环境)                  CREATED(建立时间)             STATUS(状态)                  PORTS(容器的端口信息和使用的连接类型(tcp\udp))               NAMES(自动分配的容器名称)
05e073ab47d4                          nginx:latest                                   "/bin/bash"                                  3 hours ago                      Up 3 hours                             80/tcp                                                                                   musing_lovelace

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

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

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

常用选项:

“-d” 在后台运行

run 执行镜像流程:

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

实例

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

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

#以交互模式执行容器

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

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

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

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

exec与run的区别:

execrun
退出后不会影响容器状态(进去前:up 退出后:up) 退出后会改变容器状态(进去前:up 退出后:exited)

分享标题:Docker基本部署及基本控制命令(理论篇)
文章起源:http://scjbc.cn/article/pohgoj.html