gpt4 book ai didi

docker - 如何只使用大文件构建容器而不添加它?

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

我有一个很大的 tar/可执行文件(超过 30GB)我 COPY/ADD 它但这仅用于安装。安装该应用程序后,我就不再需要它了。

我该怎么办?我正在尝试使用它,但是:

  • 每次我运行构建时,都需要几分钟来定义构建上下文。

  • 我想分享这张图片,如果我用 docker save 创建一个 tar,它包含最终版本还是每一层?

我发现一些解决方案说我可以使用 RUN wget tar ... && rm tar 但我不想为此创建网络服务器。

为什么无法在构建过程中安装卷?!这将非常有用。

最佳答案

使用 Docker 的多阶段构建。此机制允许您删除中间伪影,从而获得轻量级图像。

例子:

FROM alpine:latest as build
# copy large file
# build

FROM alpine:latest as output
# copy necessary files built in the previous stage
COPY --from=build app /app

build 阶段构建的任何内容都不会包含在最终图像中,除非您明确地COPY 它们。

文档:https://docs.docker.com/develop/develop-images/multistage-build/

关于docker - 如何只使用大文件构建容器而不添加它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49934985/

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