如何更新Docker镜像

更新官方仓库时,如何更新Docker镜像?

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

build立新的图像还是重build现有的图像是否更好?

什么是重build现有图像的最佳方式?

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

更新官方仓库时,如何更新Docker镜像?

如果您使用Docker Hub来创build自动构build,那么您可以添加一个Repository Link ,它将在链接的repo更新时重build您的repo。

如果你想自己做构build,你可以创build一个hacky的解决方法,通过上面的链接获取通知,并重build一个简单的回购,然后使用Web Hook通知您的构build系统的变化。

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

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

如果您自己构build图像 ,只需键入docker build . 在你的Dockerfile所在的目录下。 您可以使用--no-cache来强制全新的重build

build立新的图像还是重build现有的图像是否更好?

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

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

在名称中使用:tagfunction,例如

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

请参阅https://registry.hub.docker.com/_/ubuntu/以获取“ubuntu”映像上所有变体的完整列表。 有关友好图像名称的完整格式,请参阅tag文档。 所有标记和名称都是规范映像名称的别名,当运行docker images --no-trunc时,看起来很长的UUIDstring。