我编写了一个docker文件,它在容器中添加了我的python脚本:ADD test_pclean.py /test_pclean.py
我的目录结构是:
.
├── Dockerfile
├── README.md
├── pipeline.json
└── test_pclean.py我的json文件作为一个配置文件,用于在Pachyderm中创建管道,如下所示:
{
"pipeline": {
"name": "mopng-beneficiary-v2"
},
"transform": {
"cmd": ["python3", "/test_pclean.py"],
"image": "avisrivastava254084/mopng-beneficiary-v2-image-7"
},
"input": {
"atom": {
"repo": "mopng_beneficiary_v2",
"glob": "/*"
}
}
}尽管我复制了正式文档的示例,但我面临一个错误:python3: can't open file '/test_pclean.py': [Errno 2] No such file or directory
我的文档是:
FROM debian:stretch
# Install opencv and matplotlib.
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y unzip wget build-essential \
cmake git pkg-config libswscale-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt
RUN apt update
RUN apt-get -y install python3-pip
RUN pip3 install matplotlib
RUN pip3 install pandas
ADD test_pclean.py /test_pclean.py
ENTRYPOINT [ "/bin/bash/" ]发布于 2019-01-17 10:20:58
我没有在每个构建中更改对我的坞映像的提交,因此,Kubernetes使用的是它拥有的本地坞文件(w/o标记并提交,它不承认任何更改)。一旦我开始对每个构建使用commit,Kubernetes就开始下载预期的docker映像。
发布于 2019-01-03 18:24:57
就像上面的一些评论所暗示的。您的test_pclean.py文件似乎不在码头映像中。这是应该解决的问题。
COPY test_pclean.py .
cmd部分有以下内容:"cmd": ["python3", "./test_pclean.py"]latest标记,那么在管道中对此步骤的任何将来的迭代/构建都可能会产生负面影响(代码中的新错误等等)。因此,最佳实践是在管道中使用特定版本:mopng-beneficiary-v2-image-7:v1和mopng-beneficiary-v2-image-7:v2等等。这样你就可以在第3版上迭代,它不会影响已经在运行的管道。docker build -t avisrivastava254084/mopng-beneficiary-v2-image-7:v1
然后,只需更新管道规范以使用avisrivastava254084/mopng-beneficiary-v2-image-7:v1。
https://stackoverflow.com/questions/53991961
复制相似问题