Docker commit命令

docker commit命令教程

docker commit 命令用于根据 Docker容器 的更改创建一个新的 Dokcer镜像。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。

docker commit命令语法

haicoder(www.haicoder.net)# docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

docker commit命令参数

参数 描述
-a, --author string 作者。
-c, --change list 应用 dockerfile 指令来创建图像。
-m, --message string 提交信息。
-p, --pause 提交期间暂停容器(默认为true)。

案例

提交容器更改

使用 docker run -it 命令,运行一个 dokcer 容器。

haicoder(www.haicoder.net)# docker run -it --name haicoder centos [root@602cac714951 /]#

此时,终端命令行变成了容器 id 的形式,即我们进入了容器内部。在容器内部运行 vim 命令,提示没有该命令,终端提示如下图所示:

01 docker commit.png

我们使用 yum 安装 vim 命令:

[root@602cac714951 /]# yum install -y vim

终端显示如下图所示,即表示安装成功:

02 docker commit.png

安装完成后,我们即可以在 docker 容器内部使用 vim 命令。

[root@602cac714951 /]# whereis vim vim: /usr/bin/vim /usr/share/vim

为了方便,我们使用 docker commit 命令将此已经安装 vim 命令的 docker 容器进行提交,以供后续使用。

haicoder(www.haicoder.net)# docker commit haicoder centos-vim sha256:1dfd8a9f5ccf89ca83e231211623f788873a715cce7eb284c57bb9cdefe5f0ae

我们使用 docker images 命令,查看已经提交的 docker 镜像,终端显示如下图所示:

03 docker commit.png

我们现在基于刚提交的 docker 镜像,运行一个新的容器。

haicoder(www.haicoder.net)# docker run -it --name haicoder-vim centos-vim [root@58bfea027dcb /]# whereis vim vim: /usr/bin/vim /usr/share/vim [root@58bfea027dcb /]#

创建完之后,我们可以直接使用 vim 命令。使用 docker killdocker rm 命令,删除所有容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`

docker commit命令总结

docker commit 命令用于根据 Docker 容器的更改创建一个新的 Dokcer 镜像。