Es ist allgemein bekannt, dass wenn die RUN-Anweisung nach großen Dateioperationen aufräumt, die resultierende Schichtgröße kleiner wäre. Wenn ich jedoch das folgende Skript ausführe, ist die resultierende Ebene groß und entspricht in etwa der Größe der Dateien, die ursprünglich kopiert und bereinigt wurden.Dockerfile RUN erstellt eine Fettschicht auch bei Säuberung
Wie könnte diese Größe einer Ebene festgelegt werden, wenn die kopierten Dateien in derselben Ebene gereinigt werden?
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/*
Versuchen Sie ein Experiment: Starten Sie eine Shell in einem Container mit dem Bild von vor dem 'RUN'-Befehl. Dann, mit 'df', um die Verwendung zu überprüfen, schauen Sie sich zunächst den Speicherplatz an, nachdem Sie 'apt-get update' ausgeführt haben, nach der Installation, nach 'apt-get-purge' und nach dem Löschen aller anderen Dateien. –
vielleicht sollten Sie versuchen, 'apt-get install -y - no-install-empfiehlt wget Puppe' – user2915097