dockerfile怎么执行 source使用conda环境
时间: 2023-06-12 12:05:58 浏览: 197
在 Dockerfile 中执行 `source` 命令使用 conda 环境,可以按照以下步骤进行:
1. 在 Dockerfile 中安装 conda,并创建一个新的 conda 环境:
```
RUN curl -sSLO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
&& rm Miniconda3-latest-Linux-x86_64.sh \
&& echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc \
&& echo "conda activate myenv" >> ~/.bashrc \
&& /opt/conda/bin/conda create -y --name myenv python=3.7 \
&& /opt/conda/bin/conda clean -ya
```
这里创建了一个名为 `myenv` 的 conda 环境,并将其添加到了 `.bashrc` 文件中,以便后续可以使用该环境。
2. 在需要使用 conda 环境的命令前,使用 `bash -c` 执行 `source activate` 命令激活 conda 环境:
```
RUN bash -c "source activate myenv && pip install -r requirements.txt"
```
这里使用 `source activate myenv` 命令激活了 `myenv` 环境,然后执行了 `pip install` 命令。
注意,如果你使用的是 conda 4.4 以上版本,可以使用 `conda activate` 命令代替 `source activate` 命令。
完整的 Dockerfile 可以参考以下示例:
```
FROM ubuntu:18.04
# Install conda
RUN apt-get update \
&& apt-get install -y curl bzip2 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN curl -sSLO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
&& rm Miniconda3-latest-Linux-x86_64.sh \
&& echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc \
&& echo "conda activate myenv" >> ~/.bashrc \
&& /opt/conda/bin/conda create -y --name myenv python=3.7 \
&& /opt/conda/bin/conda clean -ya
# Copy files
COPY . /app
WORKDIR /app
# Install dependencies
RUN bash -c "source activate myenv && pip install -r requirements.txt"
# Run command
CMD ["bash"]
```
阅读全文