在 docker 镜像创建期间创建的持久化 conda env

我的 Python 工作区根目录中 .devcontainer 文件夹中的 Docker 文件如下所示

FROM mcr.microsoft.com/vscode/devcontainers/miniconda:0-3

RUN apt-get update
RUN export DEBIAN_FRONTEND=noninteractive
RUN apt-get -y install --no-install-recommends make
RUN apt-get -y install gcc git-lfs python3-dev build-essential

# Copy environment.yml (if found) to a temp location so we update the environment. Also
# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists.
COPY environment.yml* .devcontainer/noop.txt /tmp/conda-tmp/
RUN if [ -f "/tmp/conda-tmp/environment.yml" ]; then /opt/conda/bin/conda env update --name base --file /tmp/conda-tmp/environment.yml; fi
RUN rm -rf /tmp/conda-tmp

我希望这将实现的是

  1. Conda 本身将被更新和
  2. 将创建我的 environment.env 文件中的 conda 环境。

事实上,这两种情况都不会发生。

当我让 VSCode 构建 Docker 映像并在生成的容器中重新打开我的工作区时,只列出了一个 conda 环境(base)并且它尚未更新,即我仍然必须运行命令

conda update --name base conda --channel anaconda
conda env create --file environment.yml

为什么我的 Dockerfile 中的 conda 内容没有持久化到容器中?还是我在 Dockerfile 中所做的事情有问题(我在日志中看不到错误)?

lxqcys 回答:在 docker 镜像创建期间创建的持久化 conda env

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2797.html

大家都在问