【问题标题】:Cant run 2 conda commands in Dockerfile无法在 Dockerfile 中运行 2 个 conda 命令
【发布时间】:2021-02-09 09:00:36
【问题描述】:

我有一个 docker 文件,例如:

FROM conda/miniconda3-centos7
WORKDIR /tmp 
COPY app/ /tmp 
RUN conda install gcc_linux-64 
RUN conda install gxx_linux-64 
CMD ["python", "Hello_World.py"]

代码在第一个 RUN conda 命令后卡住。我得到的错误是:

WARNING: The conda.compat module is deprecated and will be removed in a future release.


==> WARNING: A newer version of conda exists. <==
    current version: 4.6.11
    latest version: 4.9.2

Please update conda by running

$ conda update -n base -c defaults conda


Removing intermediate container 277edb28a107
 ---> e6b51d71eac0
Step 7/8 : RUN conda install gxx_linux-64
 ---> Running in 94166fbfff2a
Traceback (most recent call last):
  File "/usr/local/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'
The command '/bin/sh -c conda install gxx_linux-64' returned a non-zero code: 1

你能推荐一下吗?

【问题讨论】:

  • 我又尝试了一些东西。我删除了第一个 conda 命令来安装 gcc,然后运行代码,它工作正常。但由于某种原因,我无法运行 2 个单独的 conda 安装命令

标签: python docker anaconda dockerfile


【解决方案1】:

在 Dockerfile 中添加 conda update -n base -c defaults conda 可以解决上述问题。

您也可以考虑使用&amp;&amp; 来优化 docker 镜像的创建。 Read more about it here.

优化的 Dockerfile 将是:

FROM conda/miniconda3-centos7
WORKDIR /arnav
COPY app/ /arnav
RUN conda update -n base -c defaults conda \
    && conda install gcc_linux-64 && conda install gxx_linux-64
CMD ["python", "Hello_World.py"]

【讨论】:

  • 这是按预期工作的。谢谢你的解决方案。我很抱歉没有使用 && 作为 Docker 的新手。我会记住的。
  • 不需要道歉@Madness,我们不能自己学习所有东西,也不能从别人的经验中学习:)
猜你喜欢
  • 2019-07-17
  • 2019-11-08
  • 2019-01-28
  • 1970-01-01
  • 2017-11-12
  • 2022-01-18
  • 1970-01-01
  • 2020-03-05
  • 1970-01-01
相关资源
最近更新 更多