Получение ошибки "" exec: \ "python2 \": исполняемый файл не найден в $ PATH ": неизвестно."при попытке запустить контейнер в интерактивном режиме - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть следующее Dockerfile:

# Use Python base image from DockerHub 
FROM python:2.7 

WORKDIR /salmon

# INSTALL CMAKE
RUN apt-get update && apt-get install -y sudo \
    && sudo apt-get update \
    && sudo apt-get install -y \
    python \
    cmake \
    wget 

#INSTALL BOOST
RUN wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz \
    && mv boost_1_66_0.tar.gz /usr/local/bin/ \
    && cd /usr/local/bin/ \
    && tar -xzf boost_1_66_0.tar.gz \
    && cd ./boost_1_66_0/ \
    && ./bootstrap.sh \
    && ./b2 install

#INSTALL SALMON
RUN wget https://github.com/COMBINE-lab/salmon/releases/download/v0.14.1/salmon-0.14.1_linux_x86_64.tar.gz \
    && mv salmon-0.14.1_linux_x86_64.tar.gz /usr/local/bin/ \
    && cd /usr/local/bin/ \
    && tar -xzf salmon-0.14.1_linux_x86_64.tar.gz \
    && cd salmon-latest_linux_x86_64/ 

ENV PATH=/salmon/

ADD . /salmon

Когда я пытаюсь запустить его интерактивно через sudo docker run -v ~/Documents/Docker/salmon_test/:/data -it salmon:00.00.01, я получаю сообщение об ошибке:

"exec: \"python2\": executable file not found in $PATH": unknown."

Я непонимаю, почему я получаю эту ошибку.Я даже добавил команду sudo apt-get install python (которой у меня не было раньше), но это тоже не помогло.Есть мысли?

1 Ответ

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

Это из-за переопределения переменной $PATH, и в результате контейнеру не удалось найти исполняемый файл.

Значение PATH по умолчанию равно

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Поэтому, когда вы устанавливаете это значение/salmon/ затем вы можете вызывать python, используя полный путь, например /usr/local/bin/python, кстати, вам не следует обновлять переменную PATH следующим образом.

Лучше обновить с помощью существующей переменной PATH.

FROM python:2.7 
ENV PATH="/salmon/:${PATH}"
.
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...