container到image
前言
既然container是基于image之上的,想想是否能够由一个container反推出image呢?
肯定是可以的,比如通过docker run运行起一个container出来,这时候对container对一些修改,然后
再生成一个新的image,这时候image的由来就不仅仅只能通过Dockerfile咯。
(1) 拉取一个centos image
docker pull centos
(2) 根据centos镜像创建出一个container
docker run -d -it --name my-centos centos
(3) 进入my-centos容器中
docker exec -it my-centos bash
(4) 输入vim命令 bash:
vim: command not found
(5) 我们要做的是对该container进行修改,也就是安装一下vim命令,然后将其生成一个新的centos
(6) 在centos的container中安装
vim yum install -y vim
(7) 退出容器,将其生成一个新的centos,名称为"vim-centos-image" 语法
docker commit container-name newImage-name
docker commit my-centos vim-centos-image
(8) 查看镜像列表,并且基于"vim-centos-image"创建新的容器
docker run -d -it --name my-vim-centos vim-centos-image
(9) 进入到my-vim-centos容器中,检查vim命令是否存在
docker exec -it my-vim-centos bash
总结
可以通过docker commit命令基于一个container重新生成一个image,但是一般得到image的方
式不建议这么做,不然image怎么来的就全然不知咯。