我正在使用Dockerfiles尝试自动创建我的构建。我正在尝试理解图层概念。在我的Dockerfile中,我已经添加了我需要的Mono版本,我正在编写一个单声道调用的C#应用程序。在我开发应用程序时,我只是将我需要的src文件添加到Docker镜像中,然后运行容器。所以每次我为我的C#应用程序创建一个新的构建时,我基本上只是复制新的C#文件。如果在我的Dockerfile中,它就像这样简单:
FROM centos
// install mono
ADD . /src
当我运行构建时我做了
docker build -t="crystal/testapp" .
当我更新主机的C#源文件时,我再次运行docker build命令。这是我最后一个水晶/ testapp图像的另一层。或者它是从centos基础开始,只是创建一个全新的图像,取代我的旧水晶/ testapp图像?看看我的图像的大小,似乎它不是取代旧图像,而是做一些我不确定的其他事情。如果我在每次构建之前docker rmi hash
看起来有点单调乏味,那么大小只是相对一致。
答案 0 :(得分:0)
如果内容。改变,码头工人将从centos基地开始。有一个新图层,但是是centos的孩子,而不是你之前的图层。