如何始终使用最新版本的 Docker 基础镜像?

Ron*_*996 5 docker dockerfile

例如,我有一个 DockerFile,其中包含以下行来提取基本映像:

FROM myHub.com/base-image
Run Code Online (Sandbox Code Playgroud)

我没有指定要使用哪个标签。现在,假设更新的映像base-image被推送到集线器中(版本 2)。如果我docker build再次运行,docker 会发现我的本地系统已经拉取了基础镜像,因此它使用缓存并保留(版本 1)。

我的一个快速解决方法是指定标签:

FROM myHub.com/base-image:2.0
Run Code Online (Sandbox Code Playgroud)

但这似乎效率不高。因为当再次推送新版本时,我将不得不手动更改 dockerfile 中的标签。有更好的方法来处理这个问题吗?我是 Docker 新手,所以有很多地方我不熟悉。谢谢

wot*_*nii 9

解决方案:

docker build --pull
Run Code Online (Sandbox Code Playgroud)

解释:

--pull始终尝试拉取更新版本的映像

https://docs.docker.com/engine/reference/commandline/build/

  • 我很抱歉成为“那个”接受评论并将其转化为答案的人。但我发现这个问题是因为我在谷歌中输入了完全相同的问题,并且几乎忽略了包含答案的评论。 (4认同)