conda docker鏡像


之前的python環境,使用ubuntu安裝pip來安裝python依賴,但是遇到缺少某些庫的版本,比如一個項目需要用到faiss,pip只有最新的1.5.3版本,但是這個版本使用了較新的CPU指令,在老服務器上運行報錯:

Illegal instruction (core dumped) - in new version of FAISS #885

github上提示安裝舊版本:

If anyone else is struggling and wanna go back to previous working version, use: conda install faiss-cpu=1.5.1 -c pytorch -y

遺憾的是,下面的命令不成功,沒有1.5.1版本:

pip install faiss-cpu==1.5.1

轉而投向conda。

首先,下載最新的conda安裝命令:

wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh

然后構建conda的基礎鏡像,還是以ubuntu:16.04為底包,Dockerfile如下:

from ubuntu:16.04
RUN apt-get update && apt-get install -y --no-install-recommends \
      bzip2 \
      g++ \
      git \
      graphviz \
      libgl1-mesa-glx \
      libhdf5-dev \
      openmpi-bin \
      wget && \
    rm -rf /var/lib/apt/lists/*

RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update

ADD ./Anaconda3-2019.07-Linux-x86_64.sh ./anaconda.sh

ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
ENV PATH /opt/conda/bin:$PATH
RUN  /bin/bash ./anaconda.sh -b -p /opt/conda  && rm ./anaconda.sh && ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh  && echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && echo "conda activate base" >> ~/.bashrc && find /opt/conda/ -follow -type f -name '*.a' -delete && find /opt/conda/ -follow -type f -name '*.js.map' -delete &&  /opt/conda/bin/conda clean -afy


CMD [ "/bin/bash" ]

構建:

docker build -t conda3:1.0 .

后面,就可以以conda3:1.0 .為基礎鏡像構建需要的鏡像,比如我們需要安裝faiss-cpu 1.5.1版本

from conda3:1.0

RUN conda install pytorch -y
RUN conda install faiss-cpu=1.5.1 -c pytorch -y


CMD [ "/bin/bash" ]

構建:

docker build -t conda-faiss:1.0 .

作者:Jadepeng
出處:jqpeng的技術記事本--http://www.cnblogs.com/xiaoqi
您的支持是對博主最大的鼓勵,感謝您的認真閱讀。
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM