Dockerfile无法复制&Docker-compose卷不与容器同步

我正在使用Docker Windows桌面客户端并尝试构建flask python容器。 dockerfile将requirements.txtflask-script.py文件复制到python容器中并进行设置。

|-root directory (this is where the powershell commands are run from)
|-docker-compose.yml
|-src
|  └── Dockerfile
|  ├── flask-script.py
|  ├── requirements.txt

Docker-compose.yml:

version: '3'

services:
  flask-service:
    build: ./src
    volumes:
      - ./src:/usr/src/app
    ports:
      - 8080:80

src / Dockerfile:

FROM python:3

COPY . /usr/src/app

RUN pip install --no-cache-dir -r requirements.txt

CMD [ "python","./flask-script.py" ]

运行docker-compose up会出现以下错误:

ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt'

但是,如果我将dockerfile更改为:

FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python","./flask-script.py" ]

它确实可以工作,但是在docker-compose up之后,docker-compose中指定的卷不会与容器同步。如果我对flask-script.py文件进行了任何更改,则容器将看不到它们。

我在做什么错了?

flyyan520 回答:Dockerfile无法复制&Docker-compose卷不与容器同步

当您添加WORKDIR时它确实起作用,因为该目录中包含所有文件。

但是,在第一个Dockerfile中,您将所有内容复制到/usr/src/app,但是没有将工作目录更改为该目录,因此requirements.txt因为位于{{1}中而无法访问}

本文链接:https://www.f2er.com/3125826.html

大家都在问