docker撰写错误..[注意][Entrypoint]:MySQL Server 5.7.36-1debian10的E



docker-compose.yml

version: "3.7"
services:
db:
platform: linux/x86_64
image: mysql:5.7
volumes:
- ./db_data1:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
MYSQL_DATABASE: "${DB_DATABASE}"
MYSQL_USER: "${DB_USER}"
MYSQL_PASSWORD: "${DB_ROOT_PASSWORD}"
ports:
- 3306:3306
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
web:
build:
dockerfile: ./Dockerfile
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- ./web_data1:/app
ports:
- 8000:8000
environment:
DJANGO_DB_HOST: db:3306
DJANGO_DB_NAME: "${DB_DATABASE}"
DJANGO_DB_USER: "${DB_USER}"
DJANGO_DB_PASSWORD: "${DB_ROOT_PASSWORD}"

my_setting.py

DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'root',
'PASSWORD': "${DB_ROOT_PASSWORD}",
'HOST': 'db',
'PORT': '3306',
}
}
SECRET = 'django-insecure-#kb%p45em8hdhja^+2jal#(*mzw1c3jk5gvsx(_cn@q^u@u&b0'
ALGORITHM = 'HS256'

Dockerfile

来自python:3ENV pythounbuffered=1WORKDIR/usr/src/app复制requirements.txt/RUN pip install-r requirements.txt复制。暴露8000CMD["gunicorn","--bind","0.0.0.0:8000","docker_train.wsgi:application"]

.env

DB_ROOT_PASSWORD=password
DB_DATABASE=test
DB_USER=root

我运行docker compose,但出现了这个错误。我该如何处理它来解决问题?

错误

docker-training11-db-1   | 2021-11-09 05:14:47+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.36-1debian10 started.
docker-training11-web-1  | Watching for file changes with StatReloader
docker-training11-web-1  | Performing system checks...

据我所知,您的DATABASE详细信息存在一些问题。请先核实一下。

django无法解析数据库主机名。尝试传递基本机器的私有ip,而不是"db"。

最新更新