簡體   English   中英

如何在 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

而且它無法建造。 在最后一步,我得到/bin/sh: 1: conda: not found ....
conda --version的第一次出現並沒有引發錯誤,這讓我想知道這是一個PATH問題嗎?
我想在這個 Dockerfile 中有另一個RUN條目,我將在其中安裝帶有 conda install 的軟件包conda install...
最后,我想要CMD ["bash", "test.py"]條目,以便在docker run此映像時,它會自動運行一個簡單的 python 腳本,其中安裝了導入所有庫的 conda 腳本。 也許還有一個CMD ["bash", "test.sh"]腳本可以測試是否確實安裝了 conda 和 python 解釋器。

這是一個簡化的例子,會有很多軟件所以我不想改變基礎鏡像。

這將使用 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

@soren - 您必須運行$CONDA_BIN/conda init 重新啟動一個新的 shell。 那么conda activate應該可以工作。 conda init 更新您的登錄配置文件以在登錄時設置 conda(或采購,say.bashrc)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM