Linux 建筑码头工人:找不到opt/conda/bin/conda
我是docker的新手,我需要在docker环境中运行代码 我在生成Dockerfile时出错: 我正在通过hyper-V运行Ubuntu20.04,当我构建Dockerfile时,我得到以下消息:Linux 建筑码头工人:找不到opt/conda/bin/conda,linux,docker,Linux,Docker,我是docker的新手,我需要在docker环境中运行代码 我在生成Dockerfile时出错: 我正在通过hyper-V运行Ubuntu20.04,当我构建Dockerfile时,我得到以下消息: Step 4/20 : RUN curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x ~/miniconda
Step 4/20 : RUN curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x ~/miniconda.sh && ~/miniconda.sh -b -p /opt/conda && rm ~/miniconda.sh && /opt/conda/bin/conda install numpy pyyaml scipy ipython mkl && /opt/conda/bin/conda install -c soumith magma-cuda90 && /opt/conda/bin/conda clean -ya <br />
---> Running in 9758f4fe60a4 <br />
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
/bin/sh: 1: /opt/conda/bin/conda: not found
The command '/bin/sh -c curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x ~/miniconda.sh && ~/miniconda.sh -b -p /opt/conda && rm ~/miniconda.sh && /opt/conda/bin/conda install numpy pyyaml scipy ipython mkl && /opt/conda/bin/conda install -c soumith magma-cuda90 && /opt/conda/bin/conda clean -ya' returned a non-zero code: 127
当我尝试在命令提示符下直接运行命令时,效果很好
但是,当我构建Dockerfile、julia、pip等时,每个命令都“找不到”。。当我评论康达的时候。。。部分
如何解决此问题?康达未正确安装导致/bin/sh:1:/opt/conda/bin/conda:not found错误。这是因为使用curl-o~/miniconda.sh-o下载的miniconda.sh文件https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh 是一个空文件
这是因为,来自上面url的响应直接发送重定向而不是miniconda.sh文件。您可以通过检查URL的标题来验证这一点,例如curl-ihttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh 显示HTTP 301重定向状态代码
您可以通过在curl命令中提供-L标志,告诉curl遵循重定向来解决此问题,例如:
我还得把sudo除掉
以下是一些调试信息/研究:
你可以通过查看上面的片段中卷曲的输出来验证空白MimInDa.SH是否是问题。它看起来有点神秘,但你可以看到实际上什么都没有下载
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
当我尝试使用添加的-L标志构建docker映像时,输出如下所示:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
100 88.7M 100 88.7M 0 0 11.9M 0 0:00:07 0:00:07 --:--:-- 34.7M
您还可以通过删除下载/运行部分之前的所有内容来手动检查miniconda.sh的内容
e、 g.保持一切符合本部分要求
RUN sudo curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
chmod +x ~/miniconda.sh && \
~/miniconda.sh -b -p /opt/conda
然后运行sudo docker run-it containername/bin/bash并检查miniconda.sh cat~/miniconda.sh的内容,这表明该文件是空的。conda未正确安装导致/bin/sh:1:/opt/conda/bin/conda:not found错误。这是因为使用curl-o~/miniconda.sh-o下载的miniconda.sh文件https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh 是一个空文件
这是因为,来自上面url的响应直接发送重定向而不是miniconda.sh文件。您可以通过检查URL的标题来验证这一点,例如curl-ihttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh 显示HTTP 301重定向状态代码
您可以通过在curl命令中提供-L标志,告诉curl遵循重定向来解决此问题,例如:
我还得把sudo除掉
以下是一些调试信息/研究:
你可以通过查看上面的片段中卷曲的输出来验证空白MimInDa.SH是否是问题。它看起来有点神秘,但你可以看到实际上什么都没有下载
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
当我尝试使用添加的-L标志构建docker映像时,输出如下所示:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
100 88.7M 100 88.7M 0 0 11.9M 0 0:00:07 0:00:07 --:--:-- 34.7M
您还可以通过删除下载/运行部分之前的所有内容来手动检查miniconda.sh的内容
e、 g.保持一切符合本部分要求
RUN sudo curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
chmod +x ~/miniconda.sh && \
~/miniconda.sh -b -p /opt/conda
然后运行sudo docker run-it containername/bin/bash并检查miniconda.sh cat~/miniconda.sh的内容,这表明该文件为空