django.db.utils.OperationalError: (2002, quot;Can#39;t connect to MySQL server on #39;db#39; (115)quot;)(django.db.utils.OperationalError: (2002, Cant connect to MySQL server on db (115)))
问题描述
This has already been asked, but none of the answers have helped me. This is my configuration. Im running docker-compose with two services, a web app in django and the database in mariadb. I can connect normally to my local db with this exact configuration, only changing the host in settings.py to localhost. When i run docker-compose up
, the web service stops immediately after trying to connect to the database, and return this error.
django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'db' (115)")
Dockerfile
FROM python:3.7
RUN mkdir /app
COPY requierments.txt /app/
WORKDIR /app
RUN pip install -r requierments.txt
COPY . /app/
docker-compose.yml
version: '3'
services:
db:
image: mariadb:10.2
expose:
- 3306
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: 'django_backend'
MYSQL_USER: 'django'
MYSQL_PORT: '3306'
MYSQL_PASSWORD: 'mysql1234pass'
MYSQL_ROOT_PASSWORD: 'password'
web:
build: .
image: backendblockchain_web
volumes:
- .:/app
ports:
- "8000:8000"
depends_on:
- db
links:
- db
command:
- /bin/bash
- -c
- |
sleep 10
python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000
setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_backend',
'USER': 'django',
'PASSWORD': 'mysql1234pass',
'HOST': 'db',
'PORT': '3306'
}
}
your WEB
containers starts before the DB is up and running , you need to wait for it using one of these methods or starting your DB first manually with docker-compose up db
这篇关于django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'db' (115)")的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'db' (115)")


基础教程推荐
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 筛选NumPy数组 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01