Python 为什么可以';我找不到文件吗?

Python 为什么可以';我找不到文件吗?,python,mysql,django,docker,docker-compose,Python,Mysql,Django,Docker,Docker Compose,我正在制作一个Python(Django)和MySQL项目。 创建一些文件后,运行命令时出现错误 docker compose up-d 错误:找不到指定的Dockerfile:Dockerfile 当前目录中有Dockerfile时,为什么会出现错误 MYAPP -django --__init__.py --asgi.py --settings.py --urls.py --wsgi.py -docker-compose.yml -Dockerfile -manage.py -requir

我正在制作一个Python(Django)和MySQL项目。 创建一些文件后,运行命令时出现错误

docker compose up-d

错误:找不到指定的Dockerfile:Dockerfile

当前目录中有Dockerfile时,为什么会出现错误

MYAPP
-django
--__init__.py
--asgi.py
--settings.py
--urls.py
--wsgi.py

-docker-compose.yml
-Dockerfile
-manage.py
-requirement.txt
-wait-for-in.sh
docker-compose.yml

version: '3'
services:
  db:
    image: mysql:5.7
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
    - .:/var/www/django
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: django
      MYSQL_DATABASE: django
      MYSQL_USER: django
      MYSQL_PASSWORD: django
  web:
    build: django
    command: sh -c "./wait-for-it.sh db:3306; python3 manage.py runserver 0.0.0.0:8000"
    volumes:
    - .:/var/www/django
    ports:
    - "8000:8000"
    depends_on:
      - db
Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir -p /var/www/django
WORKDIR /var/www/django
ADD requirements.txt /var/www/django/
RUN pip install -r requirements.txt
ADD . /var/www/django/
这是一条捷径

web:
    build:
        context: django
这意味着Docker映像构建在django目录中。Dockerfile应该放在那里。与manage.py、requirement.txt和wait-for-in.sh相同

这是一条捷径

web:
    build:
        context: django

这意味着Docker映像构建在django目录中。Dockerfile应该放在那里。与manage.py、requirement.txt和wait in.sh相同。

您可以尝试以下操作:

web:
  build:
    context: ./django/
    dockerfile: ./Dockerfile

您可以尝试以下方法:

web:
  build:
    context: ./django/
    dockerfile: ./Dockerfile
你可以试试这个

web:
  build:
    context: ./django/
    dockerfile: ./Dockerfile
    command: >
      sh -c "./wait-for-it.sh db:3306; python3 manage.py runserver 0.0.0.0:8000"
    depends_on:
      - db
    ports:
      - "8000:8000"
你可以试试这个

web:
  build:
    context: ./django/
    dockerfile: ./Dockerfile
    command: >
      sh -c "./wait-for-it.sh db:3306; python3 manage.py runserver 0.0.0.0:8000"
    depends_on:
      - db
    ports:
      - "8000:8000"