当 dockerfile 更改时,Docker 更新图像

新手上路,请多包涵

我通过使用一些nodejs指令创建一个 Dockerfile 来玩docker。现在,每次我对 dockerfile 进行更改时,我都会通过在我的项目文件夹中运行 sudo docker build -t nodejstest . 来重新创建图像,但是,这每次都会创建一个新图像并很快吞下我的 ssd。

有没有一种方法可以在更改 dockerfile 时更新现有图像,或者每次更改文件时都必须创建一个新图像?

对不起,如果这是一个愚蠢的问题

原文由 Romeo Mihalcea 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 526
2 个回答

只要没有 ADD 指令,Docker build 就支持缓存。如果您正在积极开发和更改文件,则只会重建 ADD 之后的内容。

从 0.6.2(计划今天)开始,您可以执行 docker build --rm . 它将删除临时容器。它会保留图像。

为了删除孤立图像,您可以使用 docker images 检出它们,并在其中一个上执行 docker rmi <id> 。截至目前,有一个自动修剪,所有未标记的图像(孤儿,以前的版本)都将被删除。

原文由 creack 发布,翻译遵循 CC BY-SA 4.0 许可协议

根据此 最佳实践指南,如果您保持 dockerfile 的第一行相同,它还将缓存它们并为将来的构建重用相同的图像

原文由 Reza S 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进