dockerfile 安装miniconda

需求:

  • 一个docker 镜像中有多个程序要跑
  • 但是多个程序依赖的环境有冲突,所以安装一个miniconda

进程:

  • 先安装conda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-x86_64.sh 
RUN bash Miniconda3-py38_23.1.0-1-Linux-x86_64.sh -p /opt/miniconda -b
RUN rm Miniconda3-py38_23.1.0-1-Linux-x86_64.sh
RUN cp /usr/local/bin/gunicorn /opt/miniconda/bin/
  • 安装好之后准备好安装子环境需要的yml文件
ENV PATH=/opt/miniconda/bin:${PATH}
RUN conda update -y conda
RUN conda init
RUN conda env create -f environment.yml
RUN rm -rf environment.yml
  • 上部代码中最关键的一个步骤就是 ENV PATH=/opt/miniconda/bin:${PATH}
  • 不然下面的init 等都跑不起来
  • 注意这个 p a t h 要和上面安装 m i n i c o n d a 的目录保持一致 \color{#FF0000}{注意这个path 要和上面安装miniconda 的目录保持一致} 注意这个path要和上面安装miniconda的目录保持一致

拓展:

  • 如果需要后续在dockerfile 中使用已经存在 conda 的镜像,并且在指定的环境下安装内容需要重新使用init
FROM hasconda-docker:laster
#指定环境 && 初始化 conda && 
RUN export PATH=/opt/miniconda/bin:${PATH} && conda init bash && source activate && conda activate smallEnv && pip install opencv-python==4.7.0.72
  • s o u r c e   a c t i v a t e \color{#FF0000}{source\ activate} source activate 这个行为可以在shell脚本开头处激活虚拟环境,如果直接使用 conda activate smallEnv 会报错, C o m m a n d N o t F o u n d E r r o r :   Y o u r   s h e l l   h a s   n o t   b e e n   p r o p e r l y   c o n f i g u r e d   t o   u s e   ′ c o n d a   a c t i v a t e ′ \color{#FF0000}CommandNotFoundError:\ Your\ shell\ has\ not\ been\ properly\ configured\ to\ use\ 'conda\ activate' CommandNotFoundError: Your shell has not been properly configured to use conda activate
  • 在这里插入图片描述
  • 注意path 的设置尤其重要,不然source activate 会失败,因为 activate 是处于miniconda/bin 下的一个文件
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值