问题:miniconda3虚拟环境创建python环境,使用下面Dockerfile编译docker镜像
FROM cuda10.2_pt1.5:09061
COPY . /workspace
WORKDIR /workspace
CMD ["python","","/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","","/input_path","/output_path"]