在 docker 中激活 conda 环境
- 作者: 珏男
- 来源: 51数据库
- 2022-11-04
问题描述
我需要在 docker 中激活环境并在此环境中运行命令.我创建了环境,然后我尝试激活这个环境并以这种方式运行命令:
I need to activate environment in docker and run a command in this environment. I create the environment, but then I try to activate this environment and run the command in this way:
CMD [ "source activate mro_env && ipython kernel install --user --name=mro_env" ]
但是当我运行 docker 时出现错误:
but when I ran docker I get an error:
[FATAL tini (8)] exec source activate mro_env && ipython kernel install --user --name=mro_env failed: No such file or directory
这是整个 Dockerfile:
This is the whole Dockerfile:
FROM continuumio/miniconda3 ADD /src/mro_env.yml /src/mro_env.yml RUN conda env create -f /src/mro_env.yml # Pull the environment name out of the mro_env.yml RUN echo "source activate $(head -1 /src/mro_env.yml | cut -d' ' -f2)" > ~/.bashrc ENV PATH /opt/conda/envs/$(head -1 /src/mro_env.yml | cut -d' ' -f2)/bin:$PATH CMD [ "source activate mro_env && ipython kernel install --user --name=mro_env" ]
推荐答案
关注了这个教程 并且它起作用了.示例 Dockerfile:
Followed this tutorial and it worked. Example Dockerfile:
FROM continuumio/miniconda WORKDIR /usr/src/app COPY ./ ./ RUN conda env create -f environment.yml # Make RUN commands use the new environment: SHELL ["conda", "run", "-n", "myenv", "/bin/bash", "-c"] EXPOSE 5003 # The code to run when container is started: ENTRYPOINT ["conda", "run", "-n", "myenv", "python3", "src/server.py"]
更新:
您可以使用conda run --no-capture-output";如果您使用 4.9 版本的 conda,则不缓冲 IO.更新 Dockerfile:
You can use "conda run --no-capture-output" to not buffer IO if you use the 4.9 version of conda. Updated Dockerfile:
FROM continuumio/miniconda WORKDIR /usr/src/app COPY ./ ./ RUN conda env create -f environment.yml # Make RUN commands use the new environment: SHELL ["conda", "run", "--no-capture-output", "-n", "myenv", "/bin/bash", "-c"] EXPOSE 5003 # The code to run when container is started: ENTRYPOINT ["conda", "run", "--no-capture-output", "-n", "myenv", "python3", "src/server.py"]
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
