Docker容器:即使我在构建过程中设置了PATH,也找不到pip



我是docker容器的新手,我想在基本环境中构建一个映像。这是我的Dockerfile的一部分:

FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
ARG CTAGS_DIR=~/tools/ctags
ARG RIPGREP_DIR=~/tools/ripgrep
ARG ANACONDA_DIR=~/tools/anaconda
ARG NVIM_DIR=~/tools/nvim
ARG NVIM_CONFIG_DIR=~/.config/nvim
# Install common dev tools
RUN apt-get update --allow-unauthenticated 
&& apt-get install --allow-unauthenticated -y git curl autoconf pkg-config zsh
# Install anaconda
COPY ./packages/Anaconda3-2019.07-Linux-x86_64.sh /tmp/anaconda.sh
RUN chmod u+x /tmp/anaconda.sh 
&& bash /tmp/anaconda.sh -b -p ${ANACONDA_DIR} 
&& rm /tmp/anaconda.sh
ENV PATH=${ANACONDA_DIR}/bin:$PATH
# RUN echo $PATH && ls -l /root/tools/anaconda/bin|grep pip
RUN echo $PATH && ls -l ~/tools/anaconda/bin|grep pip
# Python packages
RUN pip install pynvim jedi pylint

构建过程在 pip 安装步骤失败,抱怨

/bin/sh: 1: pip:

未找到
命令 '/bin/sh -c pip install pynvim jedi pylint' 返回非零代码:127

但是命令的输出

RUN echo $PATH && ls -l ~/tools/anaconda/bin|grep pip

如下

~/tools/anaconda/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-rwxrwxr-x 1 root root      231 Sep 28 08:19 pip

这表明 PATH 已设置且 pip 是可找到的。我不确定这里有什么问题。 唯一的解释是 PATH 已设置,但未正确设置。我不知道为什么。

有经验的人可以解释发生了什么吗?我的 Dockerfile 有什么问题?

我在Dockerfile中使用的基本映像中看不到pip,您可以检查官方Dockerfile,也可以在nvidia/cuda的基本映像中检查,您也可以检查基本映像 10.0-cudnn7-devel-ubuntu18.04

安装了点,然后尝试

FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
RUN apt update && apt install python3-pip -y
RUN pip3 --version

相关内容

  • 没有找到相关文章

最新更新