通过Dockerfile创建镜像
注:这个Dockerfile一开始真的不知道是在哪来的,还以为是在官网下载下来得(当然网上也有很多dockerfile的模板,参考:https://hub.docker.com/),其实它是自己新建得一个文件,名字为Dockerfile,docker build 通过调取dockerfile的文件内容来创建新的镜像,这个dockerfile感觉有点像linux的本地源/dev/sr0的功能。
本实验是给基础(base)镜像安装一个vim的命令,然后制作成新的镜像
首先制作dockerfile
通过docker build的命令去创建新的镜像,-t参数是新镜像的名字, . dockerfile文件的位置 . 是当前位置,可以用 -f 来制定dockerfile的位置
创建过程:docker会将dockerfile所在的目录下的所有文件发送给docker服务器,所以使用build context就要谨慎了,最好不要将多余的文件放到build context,尤其是不要把 / 或者 /usr 作为build context ,否则创建镜像的过程会非常缓慢或者创建失败。
dockerfile中的ADD COPY等命令可以将build context中的文件添加到镜像
创建成功
查看新的镜像
查看dockerfile执行过程,docker history向我们展示了镜像从上到下的分层。
简述Docker的过程:
1.运行一个base基础镜像 (FROM)
2.执行命令,对容器进行修改
3.保存一层新镜像(和docker commit命令)
4.继续执行dockerfile里面的命令
5.重新保存一层新的镜像
6.继续执行命令,直到命令全部执行完毕,每执行一个命令都会保存一个新的镜像,直至最后的一个。