logo  

运维备忘录

运维备忘录
作者: 陈安廉

摘要:软件开发进阶系列


Docker 保存修改后的镜像


2021-07-05 11:00:24

我们运行的容器可能在镜像的基础上做了一些修改,
有时候我们希望保存起来,封装成一个新的镜像。
可以使用docker提供commit功能。
现在以centos为例,在一个裸的centos上面安装vim编辑器,
并且把这个修改保存下来,封装成一个能执行vim命令的centos镜像。

1.启动镜像并做出修改

docker run -it centos /bin/bash

[root@afcaf46e8305 /]#
注意afcaf46e8305是产生的容器ID,前面运行的时候不要-d后台运行了,不然无法进入容器交互执行模式:

安装vim并且退出容器:
yum install -y vim
exit

2.把容器打包成镜像

docker commit afcaf46e8305 centos-vim

3.查看镜像centos-vim

docker images | grep centos-vim
查看镜像的详细信息:
docker inspect centos-vim:afcaf46e8305

4.使用centos-vim这个镜像

docker run -it centos-vim /bin/bash
发现可以直接使用vim了,而不需要重新安装:
vim --version

5.OPTIONS说明

-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1