gpt4 book ai didi

docker - 如何管理docker镜像依赖(维护)

转载 作者:IT老高 更新时间:2023-10-28 12:36:11 29 4
gpt4 key购买 nike

使用 docker,您可以非常好地基于其他图像创建图像。例如,您可以制作一个镜像 Java-jdk7(基于最新的 Ubuntu LTS),并在此基础上创建镜像 elastic-search 和 tomcat7(两者都需要 java)。

所以,如果我不标记我的图像,我最终会得到以下结果(docker images 的摘录):

╔══════════════════════╦════════╦══════════════╗
║ REPOSITORY ║ TAG ║ ID ║
╠══════════════════════╬════════╬══════════════╣
║ ubuntu ║ 12.04 ║ 8dbd9e392a96 ║
║ quintenk/jdk7-oracle ║ latest ║ 8928245086f4 ║
║ quintenk/tomcat7 ║ latest ║ 995cdb2cbfa8 ║
║ quintenk/elastics ║ latest ║ 123abc456ef2 ║
╚══════════════════════╩════════╩══════════════╝

现在回答问题。我如何/应该保持这种依赖关系?如何维护一个 1 镜像和依赖镜像?

  1. 如果我更新我的 jdk 镜像(例如 apt-get upgrade),我假设我没有损坏依赖镜像?但是,我还假设依赖关系树不再像您期望的那样。 [更新:我已经复制了这个,所以请在下面查看我自己的答案]
  2. 如果 1 是正确的,是否可以通过某种方式让相关镜像将自己标记为过时,并(希望)让它们自行重建?

或者是用版本号标记容器的方法,然后手动重建和重新分配所有依赖项并增加版本号标记?这意味着需要更改 Dockerfile 以进行更新。

更新:我在 docker 站点的 presentation 中找到了以下图像。但是,我不太确定如何执行此操作的步骤(尤其是在我描述的依赖于其他图像的情况下)。

Update flow for docker containers

最佳答案

这是一个很好的用例。请在 Docker issues page 上提交增强请求.

目前一种简单的方法是维护 Dockerfile 并从那里进行更新,当您想要进行有意更改时重新构建镜像。

关于docker - 如何管理docker镜像依赖(维护),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943343/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com