gpt4 book ai didi

docker - 在构建 Docker 镜像时,操作系统的更新需要永远

转载 作者:行者123 更新时间:2023-12-02 20:38:46 27 4
gpt4 key购买 nike

我使用 Debian:latest 作为我的 Docker 容器的基础镜像。

问题是每次构建时我都必须更新操作系统包,这需要很长时间。这是我所做的:

FROM debian:latest

RUN apt-get update && apt-get install -y --force-yes --no-install-recommends nginx

...
apt-get update && apt-get install永远持续。我该怎么办?

最佳答案

Docker 镜像是最小的,只包括运行该基础镜像的绝对必要性。对于 Debian 基础镜像,这意味着没有包 repo 缓存。因此,当您运行 apt-get update它是第一次从所有 repos 下载包 repo 缓存。如果它们包含包 repo 缓存,那么很多包状态将很快过时,从而导致更大的基础镜像,而以后进行更新几乎没有减少。

实际的 debian:latest 镜像在上个月的提交中得到了相对较好的维护。你可以在这里查看它的各种标签:https://hub.docker.com/_/debian/

为了减少您的图像构建时间,我建议不要每次都删除您的图像。相反,进行新的构建和标记,一旦构建了新镜像,您就可以运行 docker image prune --force从以前的版本中删除未标记的图像。这允许 docker 重用来自先前镜像构建的缓存。

或者,您可以创建自己的基础镜像,该基础镜像更新频率较低,并且具有所有应用程序先决条件。像任何其他镜像一样构建它,然后更改 FROM debian:latestFROM your_base_image .

最后一个提示,避免使用 latest在您的图像构建中,执行类似 FROM debian:9 的操作相反,以便 debian 中的主要版本更新不会破坏您的构建。

关于docker - 在构建 Docker 镜像时,操作系统的更新需要永远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45969809/

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