[英]“No such file or directory” when building Docker image
我有一个现有的和正在工作的 Dockerfile,我想对其进行更新以获得更好的结构,并允许我对应用程序目录的一部分进行卷挂载以启用持久性。
文件夹结构为:
.git/
.gitignore
Dockerfile
README.md
Sorter.py
WebService.py
requirements.txt
当前工作的 Dockerfile 为:
FROM python:3.8-alpine
ADD . /
RUN pip install -r requirements.txt
EXPOSE 5000
CMD [ "python", "./WebService.py" ]
我现在想简单地不在根目录中执行此操作,因此我执行以下操作:
FROM python:3.8-alpine
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
EXPOSE 5000
ENTRYPOINT ["python"]
CMD ["WebService.py"]
我构建图像“docker build -t,并使用与第一个 buildscript 相同的 docker-compose 文件运行它 - 我收到错误:
"python: can't open file '/app/WebService.py': [Errno 2] No such file or directory"
问题在于这一行WORKDIR /app
,您可以看到 Docker 尝试运行文件/app/WebService.py
,但您没有它。 您的文件位于.
不在app
文件夹中。 因此,要么您应该创建app
文件夹并将您的WebService.py
放在该文件夹中,要么只需删除WORKDIR /app
。
这是我找到的解决方案:
FROM python:3.8-alpine
RUN mkdir /app
ADD . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD [ "python", "./WebService.py" ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.