Контейнер Docker: пункт не найден, хотя я установил PATH во время сборки - PullRequest
0 голосов
/ 28 сентября 2019

Я новичок в 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: not found
Команда '/ bin / sh -c pip install pynvim jedi pylint' вернула ненулевой код: 127

Но вывод команды

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

следующий:1014 *

~/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 установлен и пункт доступен.Я не уверен, в чем здесь проблема.Единственное объяснение состоит в том, что PATH установлен, но не установлен правильно.Я не знаю, почему.

Может кто-нибудь объяснить, что случилось?Что не так с моим Dockerfile?

1 Ответ

0 голосов
/ 28 сентября 2019

Я не вижу pip в базовом изображении, которое вы использовали в Dockerfile, вы можете проверить официальный 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...