在 Dockerfile 中激活自定义 Conda 环境

时间:2021-02-25 03:55:22

标签: anaconda dockerfile conda

在我的 Dockerfile 中,我创建了一个 Conda 环境并安装了我需要的所有软件包。在 Dockerfile 的末尾,我想在创建容器时启动一项服务。

原来的Dockerfile不是Conda环境,命令如下:

EXPOSE 8868

CMD ["/bin/bash","-c","hub install deploy/hubserving/ocr_system/ && hub serving start -m ocr_system"]

我想像这样修改命令:

activate myenv
hua install and hub servering start

如何激活容器中的 Conda 环境?

1 个答案:

答案 0 :(得分:1)

如果您知道 conda 的位置(比方说 /opt/miniconda3/condabin/conda),那么您可以直接使用 conda run。类似的东西:

CMD ['/opt/miniconda3/condabin/conda', 'run', '--no-capture-output',
     'hub', 'install', 'deploy/hubserving/ocr_system/', '"&&"', 
     'hub', 'serving', 'start', '-m=ocr_system']

参数分隔可能需要一些调整,但这就是它的精神。如果这是一个非基础环境,那么您可能还需要一个 --name|-n 参数到 {{ 1}}。