gpt4 book ai didi

c++ - 从 docker image build 中省略设置文件

转载 作者:行者123 更新时间:2023-11-28 04:10:57 25 4
gpt4 key购买 nike

我正在创建一个能够运行 Visual C++ 应用程序的 docker 镜像。因此需要安装 Visual C++ Redistributable。此安装程序启动一些后台进程,该进程在安装程序完成后(例如 20 秒)完成。

我目前的解决方案 ADDs redist 安装程序、测试程序和安装脚本(运行安装程序并反复尝试运行测试程序,直到成功或超时)。安装脚本是 RUN来自 Dockerfile。

如何让 redist 安装程序和其他设置文件仅在 docker 镜像构建期间可用?我不希望将它们放在结果层中。

编辑:Dockerfile 的相关部分...

ADD Dockerfiles C:\Dockerfiles
ADD support\setup.ps1 C:\Dockerfiles\setup.ps1

SHELL ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN C:\Dockerfiles\setup.ps1

最佳答案

最好的方法是使用 docker 多阶段构建。

FROM baseimage as builder
ADD test-program /build
ADD setup-script /build
ADD redist-installer /build/
# Run the installer
RUN /build/redist-installer
# Run your setup steps

# Now copy only what you need from the builder image
FROM runtimeimage
COPY --from=builder /result /result
# Your final image doesn't include the setup files

有关用法的更多信息,请点击此处:https://docs.docker.com/develop/develop-images/multistage-build/

关于c++ - 从 docker image build 中省略设置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57797052/

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