提问人:maciek 提问时间:10/7/2019 最后编辑:LinPymaciek 更新时间:2/26/2023 访问量:56598
如何在 Dockerfile 中使用 miniconda 安装包?
How to install packages with miniconda in Dockerfile?
问:
我有一个简单的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 found
conda --version
PATH
RUN
conda install ...
CMD ["bash", "test.py"]
docker run
CMD ["bash", "test.sh"]
这是一个简化的例子,会有很多软件,所以我不想改变基础镜像。
答:
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 init
conda activate
评论