如何更新Docker镜像

时间:2014-08-28 14:59:27

标签: docker

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

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

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

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

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

1 个答案:

答案 0 :(得分:19)

  

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

如果您使用Docker Hub创建自动构建,那么您可以添加Repository Link,以便在链接的repo更新时重建您的repo。

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

  

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

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

如果你是building images yourself,只需在Dockerfile所在的目录中输入docker build .即可。您可以使用--no-cache强制进行全新的重建

  

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

这取决于谁在使用你的图像。当您build时,结果始终是新图片,但结果如何tag可以使其看起来像旧图片或新图片的替代品。

  

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

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

ubuntu:latest
ubuntu:12.04
ubuntu:14.04
...

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