基本命令

命令列表:
1、docker images # 查看镜像列表
2、docker history # 查看镜像制作历史
2、docker inspect # 查看镜像底层信息
3、docker pull # 下载镜像
4、docker push # 上传镜像
5、docker rmi # 删除本地镜像
6、docker save # 镜像另存为tar包
7、docker load # 使用tar包导入镜像
8、docker search # 搜索镜像
9、docker tag # 修改镜像名和标签(旧的镜像名:TAG名依然存在)

容器命令

容器命令列表
1、docker run # 运行容器
2、docker ps # 查看容器列表
3、docker stop # 关闭容器
4、docker start # 启动容器
5、docker restart # 重启容器
6、docker attach|exec # 进入容器
7、docker inspect # 查看容器底层信息
8、docker top # 查看容器进程列表
9、docker rm # 删除容器
10、 docker commit # 将指定ID的容器打包成镜像

命令使用实例

准备三台虚拟机及其分别设置对应的IP地址:
web1:192.168.200.100 (安装docker-ce)
web2:192.168.200.200 (安装docker-ce)
proxy: 192.168.200.2 (安装docker仓库)

基本命令

docker images

使用镜像查看命令查看当前镜像, 用法:docker images

现在镜像为空

docker 重新导入 docker导入镜像并重命名_linux

docker search

搜索centos7的镜像,用法:docker search 镜像名

docker 重新导入 docker导入镜像并重命名_linux_02

docker pull

下载以一个centos7的镜像,用法:docker pull <镜像名[docker search命令查找的具体镜像名]>

下载两个镜像:

docker pull paigeeworld/centos7

docker pull centos:centos7.9.2009

docker 重新导入 docker导入镜像并重命名_linux_03


用docker images查看当前镜像,可以查看到刚才用docker pull下载的镜像。

docker 重新导入 docker导入镜像并重命名_运维_04

docker history

查看镜像制作历史,用法:docker history <镜像名:TAG名>

docker 重新导入 docker导入镜像并重命名_容器_05

docker inspect

查看镜像底层信息,用法:docker inspect <镜像名:TAG名>

docker 重新导入 docker导入镜像并重命名_运维_06


docker 重新导入 docker导入镜像并重命名_docker_07

docker rmi

删除本地镜像,用法:docker rmi <镜像名:TAG名>

docker 重新导入 docker导入镜像并重命名_容器_08

docker save

本地镜像另存为tar包,用法:docker save <镜像名:TAG名> <保存为的tar包名>

以下示例把本地镜像centos:centos7.9.2009另存为centos79.tar

docker 重新导入 docker导入镜像并重命名_运维_09

docker tag

修改镜像名称,用法:# docker tag <旧的镜像名:旧TAG名> <新的镜像名:新的TAG名>

docker 重新导入 docker导入镜像并重命名_docker 重新导入_10

docker load

使用tar包向本地导入镜像,用法:docker load -i <镜像的tar包名>

在web2上也安装docker-ce,并且启动docker:

docker 重新导入 docker导入镜像并重命名_docker_11


把web1上导出的镜像tar包文件centos79.tar复制到web2的/root/docker目录下,并且在web2上向本地导入这个镜像:

docker 重新导入 docker导入镜像并重命名_docker_12

docker push

上传镜像到仓库,用法:docker push 本地包名
这个命令在建立镜像仓库后,在进行演示。

容器命令

docker ps

查看正在运行的容器,用法:docker ps

查看所有容器:用法:docker ps --all

当前,docker中没有任何容器。

docker 重新导入 docker导入镜像并重命名_docker_13

docker run

运行容器,用法:docker run -it <本地镜像名> <运行命令>

docker 重新导入 docker导入镜像并重命名_docker_14

docker start

启动容器,用法:docker start <容器ID>

以下示例,通过docker start启动一个容器后,通过docker ps可以看到docker中正在运行一个容器。

docker 重新导入 docker导入镜像并重命名_docker_15

docker stop

关闭容器,用法:docker stop <正在运行的容器ID>

以下示例,通过容器ID关闭一个容器后,docker ps查看到docker中没有刚才运行的容器。

docker 重新导入 docker导入镜像并重命名_docker 重新导入_16

docker restart

重启容器,用法:docker restart <正在运行的容器ID>

对比docker restart之后的docker ps中STATUS的启动时间,指定ID的容器被重启了。

docker 重新导入 docker导入镜像并重命名_docker 重新导入_17

docker attach|exec

进入容器,用法:

docker attach <正在运行的容器ID>

注意:进入容器后,当用exit退出容器后,会停止运行容器。

docker 重新导入 docker导入镜像并重命名_linux_18


docker docker exec -it <正在运行的容器ID> 运行命令

注意:进入容器后,exit退出容器,容器继续运行。

docker 重新导入 docker导入镜像并重命名_docker 重新导入_19

docker inspect

查看容器底层信息,用法:docker inspect <容器ID>

docker top

查看容器进程列表,用法:docker inspect <正在运行的容器ID>

docker 重新导入 docker导入镜像并重命名_运维_20

docker rm

删除停止运行的容器,用法:docker rm <已经停止运行的容器ID>

注意:运行rm之前,需要停止运行容器。

docker 重新导入 docker导入镜像并重命名_linux_21

docker commit

将指定ID的容器打包成镜像,用法:docker commit <容器ID> 镜像名:TAG名。

按以下步骤,用指定CentOS7镜像启动一个容器,并进入这个容器为这个启动的容器配置一个yum源:

docker 重新导入 docker导入镜像并重命名_docker_22


然后为其配置好root密码,配置yum源:

docker 重新导入 docker导入镜像并重命名_linux_23


安装常用软件包: yum install net-tools vim openssl openssh-server openssh-askpass openssh-clients -y启动并设置sshd开机自启:

docker 重新导入 docker导入镜像并重命名_linux_24


在宿主机可以通过ssh连接到刚才的容器:

docker 重新导入 docker导入镜像并重命名_docker 重新导入_25


将容器打包成镜像:

docker 重新导入 docker导入镜像并重命名_容器_26


将镜像另存为tar包,并复制到web2主机上:

docker 重新导入 docker导入镜像并重命名_容器_27


登录到web2上,进行镜像导入和容器启动工作,并进行命令测试:

docker 重新导入 docker导入镜像并重命名_linux_28