同步泊坞窗使用本地注册表托管图像

问题描述 投票:1回答:1

如何确保docker build将Docker缓存与docker注册表同步?

想象一下这种情况:

1 - 我在笔记本电脑上为weblogic创建了一个docker镜像:

my-local-registry:5000/weblogic:12.2.1.3

2 - 然后我将它推送到我们当地的docker注册表:

docker push my-local-registry:5000/weblogic:12.2.1.3

3 - 在我们的一个服务器(例如host-1)中,我有一个docker文件,它使用这个weblogic映像来构建应用程序映像,如下所示:

FROM my-local-registry:5000/weblogic:12.2.1.3

USER weblogic
WORKDIR /u01/scripts
RUN deploy_application.sh
.
.
.

4 - 我创建应用程序映像:

docker build -t my_application .

5 - 在host-1上,我执行docker images命令,我看到2个图像。一个是weblogic,一个是从本地注册表中提取的,另一个是应用程序映像。

7 - 现在,我在笔记本电脑上更新weblogic图像(例如,应用新的安全补丁)并再次推送它:

docker push my-local-registry:5000/weblogic:12.2.1.3

8 - 在host-1上,我重新创建应用程序映像。因为它已经在docker cache中有weblogic映像,所以它不会采用更新的。

当涉及到FROM命令时,如何强制docker检查docker缓存中的任何现有映像是否与本地注册表同步? (当我运行docker pull my-local-registry:5000/weblogic:12.2.1.3时,它更新了docker缓存,但我不想每次都这样做!)

非常感谢提前。

docker
1个回答
0
投票

我找到了解决方案。我需要的是 - 拉

docker build --pull ...

它将docker缓存与docker注册表进行比较,如果docker缓存中不存在更新的层,则从docker注册表中提取更新的层。