gpt4 book ai didi

docker - dockerfile 维护的最佳实践?

转载 作者:行者123 更新时间:2023-12-02 09:57:24 32 4
gpt4 key购买 nike

我有一个Dockerfile,如下所示:

FROM openjdk:8u151

# others here

我有 2 个关于基本镜像的问题:

1。如何获取标签?

通常,我从 dockerhub 获取它,比方说 openjdk:8u151,我可以从 dockerhub's openjdk repository 获取它.

如果我可以从任何本地docker命令获取所有标签,那么我就不需要访问web来获取标签,效率是不是有点低?

2。基础镜像安全吗?

我的意思是我的基本图像是否始终存在?

看看上面的openjdk repo,它是一个官方的repo。

我发现只剩下8u151可供我选择。但我认为在这个过程中应该有很多jdk8版本,所以也应该有很多jdk8镜像,比如8u1018u163

那么我猜维护者会删除 openjdk 的一些旧镜像吗?那么如果发生这种情况,我的 Dockerfile 如何工作?如果我的上游删除了该图像,我应该始终更改我的基本图像吗?维持这样的事情对我来说真的很糟糕。

即使openjdk实际上只是生成一个jdk8版本。我的困惑仍然无法避免,因为 dockerhub 确实为用户提供了删除按钮。

最佳实践是什么,请建议,谢谢。

最佳答案

How to get the tags?

参见“How to list all tags for a Docker image on a remote registry?”。
API就够了

例如,访问:

https://registry.hub.docker.com/v2/repositories/library/java/tags/?page_size=100&page=2

Will the base image safe?

只要您将自己构建的镜像保存在注册表中(公共(public)镜像或自托管镜像),就可以:您至少能够基于您已完成的镜像构建新镜像。
或者,即使基础镜像消失,您仍然可以在自己的镜像中保留其图层,并且可以重新标记它(前提是构建缓存可用)。
例如,参见“Is there a way to tag a previous layer in a docker image or revert a commit?”。
请参阅“can I run an intermediate layer of docker image?”中的警告。

关于docker - dockerfile 维护的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49334897/

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