【发布时间】:2020-10-23 23:36:45
【问题描述】:
- 我在 django web 应用程序中使用了 mysql 连接器。
- 我已将应用程序 docker 化,但 mysql 抛出此错误。
- 我试过重启mysql服务器,
- 我也使用了 127.0.0.1 而不是 localhost,它仍然会抛出
同样的错误。 - 我正在尝试在这里运行“docker-compose up”,它带来了这个 错误 mysql.connector.errors.InterfaceError: 2003: 无法连接 到“127.0.0.1:3306”上的 MySQL 服务器(111 连接被拒绝)
- “docker-compose build”运行正常,但“docker-compose up”和python manage.py runserver”抛出mysql错误
这是我的 utils.py 文件
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
user="root",
passwd="aspilos",
database="aspilos_log"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT PHONE_NUMBER FROM category2")
results = mycursor.fetchall()
for i in zip(*results):
number = list(i)
number1 = '+2348076548894'
print (number)
这是我的 docker-compose.yml 文件
version: '3.4'
services:
db:
image: mysql
ports:
- '3306:3306'
environment:
MYSQL_DATABASE: 'app'
MYSQL_USER: 'root'
MYSQL_PASSWORD: 'aspilos'
MYSQL_ROOT_PASSWORD: 'aspilos'
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/aspilos
ports:
- "8000:8000"
depends_on:
- db
这是我的 settings.py 文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'app',
'USER': 'root',
'PASSWORD': 'aspilos',
'HOST': 'db',
'PORT': '3306',
},
}
【问题讨论】:
-
不允许进行场外对话。问题及其答案应该是自包含的。站外链接只能用于增加清晰度,但详细信息应在本网站上。
标签: python mysql django docker docker-compose