gpt4 book ai didi

docker - docker 的 conda 缓存

转载 作者:行者123 更新时间:2023-12-02 06:37:04 27 4
gpt4 key购买 nike

这是一个与:Docker build: use http cache 非常相似的问题。

我想设置一个具有自定义 conda 环境的 docker 容器。对应的dockerfile为:

FROM continuumio/miniconda3

WORKDIR /app
COPY . /app

RUN conda update conda
RUN conda env create -f environment.yml
RUN echo "source activate my_env" > ~/.bashrc
ENV PATH /opt/conda/envs/env/bin:$PATH

我的环境相当大,最小版本可能如下所示:

name: my_env
channels:
- defaults
dependencies:
- python=3.6.8=h0371630_0
prefix: /opt/conda

每次更改依赖项时,我都必须重建镜像。这意味着重新下载所有软件包。是否可以以某种方式设置缓存?将容器化的 conda 与容器外部的缓存进行交互可能会首先破坏容器化的想法。但也许这仍然有可能?

最佳答案

使用 Docker Buildkit现在有一个专门用于此目的的功能,称为缓存安装。有关精确的语法,请参阅 here 。要使用此功能,请更改:

RUN conda env create -f environment.yml

RUN --mount=type=cache,target=/opt/conda/pkgs conda env create -f environment.yml

并确保Buildkit已启用(例如通过export DOCKER_BUILDKIT=1)。缓存将在运行之间持续存在,并将在并发构建之间共享。

关于docker - docker 的 conda 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54183595/

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