将基础镜像的变化提升为“小孩”镜像Docker

我正在使用docker工具 ,我想知道是否有可能传播基本图像的“孩子”图像。 下面的一系列行动应该有助于更清楚地expression我的意思。

docker run -i -t baseimage // start up baseimage <detach while leaving baseimage running> docker commit <baseimage id> childimage // new image created from baseimage docker run -i -t baseimage // start up baseimage touch test.txt // make some small change <detach while leaving baseimage running> docker commit <baseimage id> baseimage // save base image docker run -i -t childimage // start up childimage ls test.text // test.txt isn't there 

我想这样做的原因是我有一个基础图像,我创build了几个孩子的图像。 只有在创build子图像之后,我才意识到我需要在所有这些图像上安装java。 对于我来说,安装Java到基本映像将会容易得多,并将其传播到“子”,而不是通过每个子映像并安装java。

我承认我对docker工人是新手,所以可能是这样的事情? 如果不是的话,你将如何去修改几个图像一次性改变相同的变化? 那可能吗? 谢谢。

运行泊坞窗容器与它们以“实例”types的方式创build的图像相关。 这意味着你不能以想要的方式“传播”改变。 使用Dockerfile来描述如何构buildDocker镜像,而不是手动修改正在运行的容器,会更好。

没有。

容器是短暂的,你把它们扔掉,重新开始,而不是试图修补它们。

相反,使用Dockerfile为您的容器创build一个图像。 当您想要更改时,更新Dockerfile并用新版本replace旧容器。

Interesting Posts