我通过增量提交来构建一个docker镜像。这导致在我的泊坞窗图像中创建了许多图层,随后图像的大小变得非常大。
有没有办法删除图层,从而减少图像的大小?
任何帮助,将不胜感激。
您可以尝试导出图像,然后再次导入。通过这种方式,所有图层都将丢失,图像尺寸将会降低。
sudo docker export red_panda > exampleimage.tar
cat exampleimage.tar | sudo docker import - exampleimagelocal:new
请注意,这仅适用于容器,因此您需要从图像中启动一个然后执行操作。
希望能帮助到你。
你可以用下一个技巧压制图层
FROM oracle AS needs-squashing
ENV NEEDED_VAR some_value
COPY ./giant.zip ./somewhere/giant.zip
RUN echo "install giant in zip"
RUN rm ./somewhere/giant.zip
FROM scratch
COPY --from=needs-squashing / /
ENV NEEDED_VAR some_value