如何解决Docker Stack LTS 总是会从头开始重新下载和重新创建 GHC
使用以下 Dockerfile
FROM fpco/stack-build:lts-17.12 as dependencies
ENV STACK_ROOT /home/stackage/.stack
COPY ./stack.yaml ./package.yaml ./
RUN stack build --dependencies-only
Stack 将总是在构建之前从头开始下载和安装 GHC。
> [dependencies 5/7] RUN stack build --dependencies-only 2.8s
=> => # Preparing to install GHC to an isolated location.
=> => # This will not interfere with any system-level installation.
=> => # Preparing to download ghc-8.10.4 ...
=> => # ghc-8.10.4: download has begun
=> => # ...
我为 STACK_ROOT
环境变量尝试了不同的值(包括无,保留默认值),但都没有奏效。
现在,如果我注释掉 RUN stack build
行并拉取映像,然后在其中运行 shell,我可以看到 GHC 和 Stack 已经预安装在 /home/stackage/.stack
中,其中Linux 二进制文件。
尽管如此,Stack 为什么每次都选择从头开始下载和安装所有内容?有什么办法可以避免吗?
编辑:this answer 似乎表明使用 STACK_ROOT=/home/stackage/.stack
会起作用,但显然它不起作用 - 也许我遗漏了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。