Py学习  »  Python

获取错误“exec:\”python2\:在$PATH中找不到可执行文件:未知”。尝试以交互方式运行容器时

claudiadast • 3 年前 • 623 次点击  

我有以下的 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 命令(我以前没有),但这也解决不了这个问题。有什么想法吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/57096
 
623 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Adiii
Reply   •   1 楼
Adiii    4 年前

这是因为重写了 $PATH 变量,因此容器找不到可执行文件。

默认路径值为

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

/salmon/ 然后可以使用完整路径调用python,如 /usr/local/bin/python ,顺便说一下,不应该像这样更新路径变量。

FROM python:2.7 
ENV PATH="/salmon/:${PATH}"
.
.