如何更新Docker镜像

Mas*_*one 17 docker

更新官方存储库时如何更新docker镜像?

当我更改DockerFile或Dockerfile包含时间敏感信息时,如何更新自定义图像?

建立新图像或重建现有图像是更好的做法吗?

重建现有图像的最佳方法是什么?

区分同一图像的多个构建的最佳方法是什么?

And*_*ndy 20

更新官方存储库时如何更新docker镜像?

如果您使用Docker Hub创建自动构建,则可以添加存储库链接,该链接将在链接的存储库更新时重建您的存储库.

如果您想自己进行构建,可以创建一个hacky解决方法,通过上面的链接获取通知并重建一个简单的repo,然后使用Web Hook通知您的构建系统更改.

当我更改DockerFile或Dockerfile包含时间敏感信息时,如何更新自定义图像?

如果您使用Docker Hub进行自动构建,那么对BitBucket或GitHub源代码库的更改(包括Dockerfile更改)将触发新构建.

如果您自己构建映像,只需键入docker build .Dockerfile所在的目录即可.您可以使用--no-cache强制完全重建

建立新图像或重建现有图像是更好的做法吗?

这取决于谁在使用您的图像.当你build,结果总是一个新的图像,但tag结果如何使它看起来像旧图像或新的东西的替代品.

区分同一图像的多个构建的最佳方法是什么?

使用:tag名称中的功能,例如

ubuntu:latest
ubuntu:12.04
ubuntu:14.04
...
Run Code Online (Sandbox Code Playgroud)

有关"ubuntu"映像的所有变体的完整列表,请参阅https://registry.hub.docker.com/_/ubuntu/.有关tag友好图像名称的完整格式,请参阅文档.所有标记和名称都是规范图像名称的别名,即运行时看起来长UUID的字符串docker images --no-trunc.

  • 非常感谢安迪,我写了这个问题试图想象一个关于 docker 图像维护的教程。您的回复非常出色,超出了我最初的希望。我认为这属于 docker 官方文档,因为我想这是 docker 新手的一个非常常见的问题。 (2认同)