繁体   English   中英

无法在Docker容器中找到文件

[英]Unable to locate file in docker container

我是Docker的新手,并创建了一个简单的测试应用程序来测试我的Docker容器,但Docker无法找到server.py文件。

我的项目的目录结构是:

<project>
|
|-- Dockerfile
|-- app
      |
      |-- requirements.txt
      |-- server.py

以下是Dockerfile内容:

FROM ubuntu:latest

MAINTAINER name <mail@domain.com>

COPY . /app  # do I need this ?
COPY ./app/requirements.txt /tmp/requirements.txt

RUN apt-get -y update && \
apt-get install -y python-pip python-dev build-essential
RUN pip install -r /tmp/requirements.txt

WORKDIR /app
RUN chmod +x server.py    # ERROR: No such file or directory

EXPOSE 5000

ENTRYPOINT ["python"]
CMD ["server.py"]    # ERROR: No such file or directory

我在Windows上使用boot2docker。

我在这里想念什么?

您正在将本地/app/文件夹复制到正在运行的Docker容器中的/app/文件夹中(如注释中所述),在Docker容器中创建了/app/app/server.py

怎么解决

一个简单的解决方法是更改

COPY . /app

COPY ./app/server.py /app/server.py

说明

命令COPY工作方式如下:

COPY <LOCAL_FROM> <DOCKER_TO>

您可以使用来选择Dockerfile所在文件夹中的所有内容. 在您的第一个COPY ,从而选择要添加到Docker文件夹中的本地/app文件夹。 您在Docker容器中为其分配的目的地也是/app ,因此正在运行的容器中的路径变为/app/app/..解释了为什么找不到该文件。

看一下Docker文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM