gpt4 book ai didi

docker - 层数是否会影响当前和 future docker 镜像的大小、设置时间或性能?

转载 作者:行者123 更新时间:2023-12-02 19:20:34 24 4
gpt4 key购买 nike

假设我有 2 个选项来添加 docker 层。

选项 1:

RUN python -m nltk.downloader punkt averaged_perceptron_tagger brown

选项 2:

RUN python -m nltk.downloader punkt 
RUN python -m nltk.downloader brown
RUN python -m nltk.downloader averaged_perceptron_tagger

我知道第二个选项添加了 3 层,而第一个选项只添加了 1 层。

层数是否会影响当前和 future docker 镜像的大小、设置时间或性能?

注:Current表示当前图像。 Future 意味着任何图像都可以使用现有图像中的某些层,从而加快设置速度。

最佳答案

它确实会影响设置时间并可能影响大小。它不应该是性能,即性能是指正在运行的应用的实际性能。

它确实会影响设置时间,因为层定义得越好,它们就越能更好地重复用于其他图像。归根结底,一个图层只是一个缓存,如果它可以为其他图像共享,构建时间将会得到改善。

关于大小,这实际上取决于您构建图像的方式。例如,如果您有运行时不需要的构建依赖项,则图像会更大,因为它会有这样的依赖项。说到 python,通常您会想要安装 build-essential 来构建您的应用程序,但是,一旦安装了软件包,您就不再需要 build-essential。如果不删除它,图像会变大。

要删除它,您有两种选择:

  • 要么使用长 RUN 语句,在其中安装 build-essential,安装所需的包,然后删除 build-essential,都在同一个 RUN 中。
  • 只需使用多阶段,并使用不同的阶段来构建和运行。

关于docker - 层数是否会影响当前和 future docker 镜像的大小、设置时间或性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60147349/

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