dockerfile 安装miniconda

文章描述了如何在Dockerfile中安装miniconda来管理有环境冲突的多个程序。关键步骤包括设置环境变量PATH以确保conda可访问,创建并激活conda环境。在后续的Dockerfile中使用已有conda镜像时,需正确配置PATH并使用sourceactivate激活环境,避免CommandNotFoundError。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

  • 一个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 等都跑不起来
  • 注意这个path要和上面安装miniconda的目录保持一致\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
  • source activate\color{#FF0000}{source\ activate}source activate 这个行为可以在shell脚本开头处激活虚拟环境,如果直接使用 conda activate smallEnv 会报错,CommandNotFoundError: Your shell has not been properly configured to use ′conda activate′\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 下的一个文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值