无法使用 Docker-Compose 在 Docker 中将 Django 连接到 MySQL
尝试使用 Docker 环境中的 Django 和 MySQL 之间建立连接docker-compose 可能会导致以下错误:
django.db.utils.OperationalError: (2003, 'Can\'t connect to MySQL server on \'mariadb55\' (111 "Connection refused")')
解决方案
要解决此问题,确保在 docker-compose 中指定的端口和主机至关重要Django 设置文件与 docker-compose.yml 文件中的实际配置保持一致。
解决问题的步骤:
在settings.py中将主机设置为“db”,端口设置为“3306”:
调整 docker-compose.yml 文件:
激活检查开放端口:
示例 docker-compose .yml 文件:
version: '3' services: db: image: mariadb:5.5 restart: always environment: - MYSQL_HOST=localhost - MYSQL_PORT=3306 - MYSQL_ROOT_HOST=% - MYSQL_DATABASE=test - MYSQL_USER=belter - MYSQL_PASSWORD=belter_2017 - MYSQL_ROOT_PASSWORD=123456_abc volumes: - /home/belter/mdbdata/mdb55:/var/lib/mysql ports: - "3302:3306" web: image: onlybelter/django_py35 command: /bin/sh -c "python check_db.py --service-name mysql --ip db --port 3306" volumes: - .:/djcode
其他提示:
按照以下步骤,您可以在 Docker 环境中使用 docker-compose 在 Django 和 MySQL 之间建立稳定的连接。
以上是这是一个基于问题的标题,它抓住了文章的精髓: 为什么我的 Django 应用程序无法使用 Docker-Compose 连接到 Docker 中的 MySQL? 以下是一些其他变体: * Django 到 MySQL的详细内容。更多信息请关注PHP中文网其他相关文章!