如何调试nvidia docker构建中缺少的路径
我正在创建nvidia docker映像,Dockerfile中包含以下内容:如何调试nvidia docker构建中缺少的路径,docker,nvidia-docker,Docker,Nvidia Docker,我正在创建nvidia docker映像,Dockerfile中包含以下内容: RUN curl -so /miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x /miniconda.sh && /miniconda.sh -b -p /miniconda && rm /miniconda.sh ENV PA
RUN curl -so /miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x /miniconda.sh && /miniconda.sh -b -p /miniconda && rm /miniconda.sh
ENV PATH=/miniconda/bin:$PATH
#this is stored in cache ---> fa383a2e1344
# check path
RUN /miniconda/bin/conda
我得到以下错误:
/bin/sh: 1: /miniconda/bin/conda: not found
The command '/bin/sh -c /miniconda/bin/conda' returned a non-zero code: 127
当我使用以下方法测试路径时:
nvidia-docker run --rm fa383a2e1344 ls
则/miniconda不存在,因此出现错误
然后,我修改了Dockerfile,将/miniconda替换为一个env-var路径,即:
ENV CONDA_DIR $HOME/miniconda
# Install Miniconda
RUN curl -so /miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& chmod +x /miniconda.sh \
&& /miniconda.sh -b -p CONDA_DIR \
&& rm /miniconda.sh
ENV PATH=$CONDA_DIR:$PATH
# check path
RUN $CONDA_DIR/conda
并获取错误:
/bin/sh: 1: /miniconda/conda: not found
The command '/bin/sh -c $CONDA_DIR/conda' returned a non-zero code: 127
我通过将路径设置为当前目录而不是点击
/
WORKDIR /miniconda
RUN curl -so ./miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& chmod +x ./miniconda.sh \
&& ./miniconda.sh -b -p CONDA_DIR
以下是构建结果,以供参考
docker build - < Dockerfile
Sending build context to Docker daemon 3.072kB
Step 1/5 : FROM node:12.16.0-alpine
---> 466593119d17
Step 2/5 : RUN apk update && apk add --no-cache curl
---> Using cache
---> 1d6830c38dfa
Step 3/5 : WORKDIR /miniconda
---> Using cache
---> 8ee9890a7109
Step 4/5 : WORKDIR /miniconda
---> Running in 63238c179aea
Removing intermediate container 63238c179aea
---> 52f571393bf6
Step 5/5 : RUN curl -so ./miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x ./miniconda.sh && ./miniconda.sh -b -p CONDA_DIR
---> Running in b59e945ad7a9
Removing intermediate container b59e945ad7a9
---> 74ce06c9af66
Successfully built 74ce06c9af66
docker构建-466593119d17
步骤2/5:运行apk update&&apk add--no cache curl
--->使用缓存
--->1d6830c38dfa
步骤3/5:WORKDIR/miniconda
--->使用缓存
--->8ee9890a7109
步骤4/5:WORKDIR/miniconda
--->在63238c179aea中运行
拆卸中间容器63238c179aea
--->52f571393bf6
步骤5/5:运行curl-so./miniconda.shhttps://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh &&chmod+x./miniconda.sh&./miniconda.sh-b-p CONDA_DIR
--->在b59e945ad7a9中运行
拆卸中间容器b59e945ad7a9
--->74ce06c9af66
已成功构建74ce06c9af66