docker - 同步Docker主机图像与本地注册表

标签 docker

我如何确保Docker内部版本将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-在主机1上,我执行docker images命令,并且看到2张图像。一个是weblogic,一个是从本地注册表中提取的,另一个是应用程序镜像。

7-现在,我更新笔记本电脑上的weblogic镜像(例如,应用新的安全补丁)并再次推送:
docker push my-local-registry:5000/weblogic:12.2.1.3
8-在主机1上,我重新创建应用程序镜像。由于它已经在docker缓存中具有weblogic镜像,因此不会采用更新的镜像。

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

非常感谢。

最佳答案

我找到了解决方案。我需要的是--pull
docker build --pull ...
它将比较docker缓存和docker注册表,如果docker缓存中不存在更新的图层,则将它们从docker注册表中提取。

关于docker - 同步Docker主机图像与本地注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55501429/

相关文章:

python - Dockerfile 添加失败 : No Source files were specified

docker - 基于网络利用率或每秒请求数的 Kubernetes 扩展

docker - 如何将配置设置传递到docker镜像以进行本地开发?

ubuntu - 将 docker 镜像保存在挂载的卷中

docker - 从注册表获取最新的 Docker 镜像创建日期

docker - 如何将本地镜像推送部署到kubernetes

c - 在C程序中构建docker镜像

docker - 让 Docker 访问外部文件

docker - 在重新启动 Swarm 之前,NodeJS 不会检测到 Docker Bind Mount 中的更改

ubuntu - 拉取未推送到存储库的 docker 镜像