docker工人如何处理几乎相同的图像?
我有两个节点应用程序。 每个应用程序都有自己的泊坞窗图像。
图片1 :
- 从debian
- 安装软件包(python,supervisor,git)
- 安装节点
- 安装socat
- 安装redis_cli
- Git克隆应用程序1
图2 :
- 从debian
- 安装软件包(python,supervisor,git)
- 安装节点
- 安装redis_cli
- Git克隆应用程序2
因此,您可以看到两个图像共享相同的基本映像,包,节点和redis_cli。
如果我在同一台机器上创build这些图像的容器,docker会重用这些图层,还是仅在图像范围内重复使用图层,而不是跨图像重用图层?
答案是“这取决于”。 如果在构buildImage 1
时保留中间图像,Docker将在构buildImage 2
时重用它们。
你可以通过创build2个图像然后运行命令docker history [image name]
来testing这个,你会看到中间层的哈希值是相同的。
这个博客更详细地解释了这一点。