四、Docker-构建自己的Docker镜像

2019-08-08  本文已影响0人  一直想上树的猪

准备工作

一台虚拟机
一个centos镜像
centos镜像中装了docker
需求:构建一个安装了vim的centos镜像

一、方法一

docker pull centos
docker run -it centos
yum install -y vim
docker commit nice_shockley tinner/centos-vim

至此,构建完毕。
但是此种方法有个弊端:我们是基于已经构建好的镜像去安装东西然后commit产生镜像的, 但是可能我们在安装的时候会产生一些不安全的因素,所以并不推荐用这种方法去构建镜像,因此我们大多数情况下还是推荐用方法二

二、方法二(通过Dockerfile文件)

FROM centos
RUN yum install -y vim
docker build -t tinner/centos-vim .

三、原理

在build的时候,我们知道:image是只读的,不能在其之上进行读写,要想读写只能在其container之上,其实它底层用的也是方法一:我们在build之后观察控制台可以发现:


build控制台

在第二步开始的时候产生了一个临时的container的id,然后基于这个临时的container去进行安装vim,安装完成之后:


image.png
将这个临时的container移除掉之后又产生了一个随机的id,build成功之后将这个id作为新的image的id
上一篇下一篇

猜你喜欢

热点阅读