Error running docker container: starting container process caused “exec: \“python\“: executable file

问题:miniconda3虚拟环境创建python环境,使用下面Dockerfile编译docker镜像

FROM cuda10.2_pt1.5:09061
COPY . /workspace
WORKDIR /workspace
CMD ["python","run.py","/input_path","/output_path"]

使用时出错:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"python\": executable file not found in $PATH": unknown.

尝试添加环境变量,添加后容器内生效可识别python,但build镜像后python还是同样问题无法识别python

EXPORT PATH="/root/miniconda3/bin:&PATH"

尝试建立python的软连接

ln -s /root/miniconda3/bin/python /usr/bin/python

添加后容器内生效可识别python,但build镜像后使用还是出错

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/root/miniconda3/bin/path\": stat /root/miniconda3/bin/path: no such file or directory": unknown.

分析:自动执行的命令无法定位可执行程序位置

解决方案:既然无法定位简称python,直接给出完整路径即可/root/miniconda3/bin/python,同时参考一些方案使用RUN增加了一些必要的环境,修改后的Dockerfile如下:

FROM cuda10.2_pt1.5:09061
RUN apt-get update && apt-get install -y --no-install-recommends \
         build-essential \
         cmake \
         curl \
         ca-certificates \
         libjpeg-dev \
         libpng-dev && \
     rm -rf /var/lib/apt/lists/*
COPY . /workspace
WORKDIR /workspace
CMD ["/root/miniconda3/bin/python","run.py","/input_path","/output_path"]

猜你喜欢

转载自blog.csdn.net/dou3516/article/details/120153329