gpt4 book ai didi

docker - Dockerfile RUN即使进行清理也会创建一个胖层

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

通常可以理解,如果在执行大文件操作后清除RUN指令,则生成的层大小将较小。但是,当我执行以下脚本时,结果层很大,并且大致对应于最初复制和清理的文件的大小。

如果复制的文件在同一层中被清理,那么如何确定该层的大小?

RUN mkdir -p /etc/puppet && \
cd /etc/puppet && \
apt-get update && apt-get install -y wget puppet && \
wget -rnH --level=10 -e robots=off --reject "index.html*" http://somefileserver.org/puppet/allpuppetstuff && \
puppet module install puppetlabs/stdlib && \
puppet module install 7terminals-java && \
puppet apply -e "include someserver" && \
apt-get purge -y --auto-remove puppet wget && \
rm -rfv /etc/puppet/* && \
rm -rfv /var/lib/apt/lists/*

最佳答案

经过几次调整后发现了一些细节。

如果较新的层正在修改较旧层上保留的文件,则似乎docker在旧层上重复。这是由上面的RUN命令创建的胖层的原因,即使在操作结束时总文件大小差异很小。我找不到确切的资源可以引用,但这是到目前为止的经验。

基本上,与图像有关的文件操作应始终在一层中完成。

关于docker - Dockerfile RUN即使进行清理也会创建一个胖层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36274160/

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