如何从docker镜像中删除图层?

问题描述 投票:1回答:2

我通过增量提交来构建一个docker镜像。这导致在我的泊坞窗图像中创建了许多图层,随后图像的大小变得非常大。

有没有办法删除图层,从而减少图像的大小?

任何帮助,将不胜感激。

docker boot2docker
2个回答
1
投票

您可以尝试导出图像,然后再次导入。通过这种方式,所有图层都将丢失,图像尺寸将会降低。

sudo docker export red_panda > exampleimage.tar
cat exampleimage.tar | sudo docker import - exampleimagelocal:new

请注意,这仅适用于容器,因此您需要从图像中启动一个然后执行操作。

希望能帮助到你。


0
投票

你可以用下一个技巧压制图层

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
© www.soinside.com 2019 - 2024. All rights reserved.