我是 docker 新手并创建了一个简单的测试应用程序来测试我的 docker 容器,但 docker 无法找到该server.py文件。
我的项目的目录结构是:
<project>
|
|-- Dockerfile
|-- app
|
|-- requirements.txt
|-- server.py
Run Code Online (Sandbox Code Playgroud)
以下是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
Run Code Online (Sandbox Code Playgroud)
我在 Windows 上使用 boot2docker。
我在这里缺少什么?
小智 8
您正在将本地/app/文件夹复制到在/app/Docker 容器中创建的正在运行的 Docker 容器(如评论中所述)/app/app/server.py中的文件夹。
一个简单的解决方法是改变
COPY . /app
Run Code Online (Sandbox Code Playgroud)
到
COPY ./app/server.py /app/server.py
Run Code Online (Sandbox Code Playgroud)
该命令的COPY工作原理如下:
COPY <LOCAL_FROM> <DOCKER_TO>
Run Code Online (Sandbox Code Playgroud)
您正在选择 Dockerfile 所在文件夹中的所有内容,使用.in your first COPY,从而选择/app要添加到 Docker 文件夹的本地文件夹。您在 Docker 容器中为它分配的目的地也是/app,因此正在运行的容器中的路径/app/app/..解释了为什么找不到该文件。
查看Docker 文档。
| 归档时间: |
|
| 查看次数: |
13930 次 |
| 最近记录: |