为什么我找不到 Dockerfile?



我正在做一个Python(Django(和MySQL项目。在创建了一些文件之后,我在运行该命令时遇到了一个错误。

docker组合-d

ERROR: Cannot locate specified 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: django

是的快捷方式

web:
build:
context: django

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

您可以尝试以下操作:

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"

最新更新