如何在 Dockerfile 中使用 miniconda 安装包?

How to install packages with miniconda in Dockerfile?

提问人:maciek 提问时间:10/7/2019 最后编辑:LinPymaciek 更新时间:2/26/2023 访问量:56598

问:

我有一个简单的Dockerfile:

FROM ubuntu:18.04

RUN apt-get update

RUN apt-get install -y wget && rm -rf /var/lib/apt/lists/*

RUN wget \
    https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
    && mkdir /root/.conda \
    && bash Miniconda3-latest-Linux-x86_64.sh -b \
    && rm -f Miniconda3-latest-Linux-x86_64.sh \
    && echo PATH="/root/miniconda3/bin":$PATH >> .bashrc \
    && exec bash \
    && conda --version

RUN conda --version

而且它无法建造。在最后一步,我得到了....
第一次出现没有提出错误,这让我想知道这是一个问题吗?
我想在这个 Dockerfile 中加入另一个条目,在其中我将安装软件包
,最后我希望有条目,以便在执行此映像时,它会自动运行一个简单的 python 脚本,该脚本导入所有随 conda 一起安装的库。也许还有一个脚本可以测试是否确实安装了 conda 和 python 解释器。
/bin/sh: 1: conda: not foundconda --versionPATHRUNconda install ...CMD ["bash", "test.py"]docker runCMD ["bash", "test.sh"]

这是一个简化的例子,会有很多软件,所以我不想改变基础镜像。

python docker 蟒蛇 dockerfile miniconda

评论

1赞 cel 10/7/2019
Смотритетакже: stackoverflow.com/questions/57292146/...

答:

90赞 LinPy 10/7/2019 #1

这将使用 ARG 和 ENV:

FROM ubuntu:18.04
ENV PATH="/root/miniconda3/bin:${PATH}"
ARG PATH="/root/miniconda3/bin:${PATH}"
RUN apt-get update

RUN apt-get install -y wget && rm -rf /var/lib/apt/lists/*

RUN wget \
    https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
    && mkdir /root/.conda \
    && bash Miniconda3-latest-Linux-x86_64.sh -b \
    && rm -f Miniconda3-latest-Linux-x86_64.sh 
RUN conda --version

评论

4赞 Matheus Araujo 10/14/2021
如果出现“/bin/sh: conda: command not found”,是因为您没有将 miniconda 添加到 PATH 中。这就是为什么您必须设置代码段顶部显示的环境变量的原因。
0赞 Howcanoe Wang 10/18/2021
去掉{PATH}的括号,将其更改为“/root/miniconda3/bin:$PATH”在我的设备上有效
-4赞 iamh2o 7/6/2022 #2

@soren -- 你必须运行 .重新启动新 shell。然后应该工作。conda init 更新您的登录配置文件以在登录时设置 conda(或采购,比如 .bashrc)$CONDA_BIN/conda initconda activate