【问题标题】:Activate conda env within running Docker container?在运行的 Docker 容器中激活 conda env?
【发布时间】:2021-08-19 00:28:29
【问题描述】:

有没有办法启动 Docker 容器,然后使用 Python 脚本激活容器内的给定 conda 环境?我无权访问我正在使用的映像的 Dockerfile。

【问题讨论】:

  • 是的。激活环境后你会做什么?你是登录到容器中,还是让它运行一些特定的程序?该命令会因您的情况而异。
  • 我需要创建一个容器,运行容器,在容器内激活conda env,然后运行依赖conda env的python命令。
  • 你可以试试:docker run <image name> "conda activate <env name> && python <script name>" 或类似docker run <image name> /opt/miniconda3/envs/<env name>/bin/python <script name>,其中“/opt/miniconda3”应替换为容器内 conda 软件的路径。
  • 我从 docker 收到这两个命令的错误响应“没有这样的文件或目录:未知”
  • 如果不知道图像中的文件结构,很难判断。我会检查您输入的文件路径是否正确。

标签: python docker anaconda containers environment


【解决方案1】:

conda 运行

Conda 包含一个conda run 命令,用于在环境中运行任意命令。

docker run <image> "conda run -n <your_env> python <script.py>"

如果脚本需要交互,您可能需要--live-stream 和/或--no-capture-output 参数(请参阅conda run -h)。

【讨论】:

    【解决方案2】:

    我认为如果您加载正确的 docker 映像,则无需在 dockerfile 中激活 conda,请尝试以下图片

    来自 continuumio/miniconda3

    运行 conda 信息

    这对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2019-08-03
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      相关资源
      最近更新 更多