gpt4 book ai didi

image - 可以在构建时使用docker层 “bypassed”吗?

转载 作者:行者123 更新时间:2023-12-02 18:15:25 25 4
gpt4 key购买 nike

假设我有一个像这样的Dockerfile:

FROM debian:stretch

RUN apt update
RUN apt install -y wget

RUN wget https://stackoverflow.com/
# I know the wget is useless. Is just an example :)
CMD ["echo", "hello-world"]

我想放置wget语句,一个新的RUN语句。进行此更改后,当我重建时,它将重新运行从修改到结束的所有命令,因此将再次执行wget。问题在于wget命令需要花费大量时间才能完成,因为在我的真实文件上,该文件是非常大的文件。

问题是,可以将docker调整到某个地方,以避免再次建立wget层的执行力吗?如果我已经构建了它,那么即使更改它的语句,也可以再次使用该层吗?

谢谢。

最佳答案

AFAIK这是不可能的,因为docker仅重复使用这些层直到您进行更改,然后从那里开始重新构建。

这是因为新层在先前构建的层上进行了测试(因此,您的RUN wget层已经过测试,并在从FROMRUN apt install -y wget的层上构建)。因此,如果要在RUN指令上方输入另一个RUN wget指令,则会为RUN wget指令更改环境,因此需要再次执行。

我认为没有办法手动解决这个问题,因此它会重用基于“不同”环境构建的层,我也不推荐。

关于image - 可以在构建时使用docker层 “bypassed”吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931094/

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