首页  >  文章  >  数据库  >  使用 Django 和 Docker 时如何修复“操作错误:无法连接到 MySQL 服务器”?

使用 Django 和 Docker 时如何修复“操作错误:无法连接到 MySQL 服务器”?

Patricia Arquette
Patricia Arquette原创
2024-11-02 19:35:30513浏览

How to Fix

在 Docker 中将 Django 连接到 MySQL

尝试在 Docker 环境中使用 Compose 将 Django 连接到 MySQL 时,可能会遇到“OperationalError” :无法连接到 MySQL 服务器”问题。此错误通常是由于不正确的容器配置或数据库设置造成的。

解决问题

在 Docker 中建立 Django 和 MySQL 之间连接的正确参数是:

  • 在 Django 的 settings.py 文件中设置 'HOST': 'db'。
  • 在 settings.py 中使用 3306 作为端口号。
  • 设置 MYSQL_PORT 环境将 docker-compose.yml 中的变量设置为 3306。
  • 将 MYSQL_HOST 环境变量保留为 localhost。

为了确保连接成功,您可以在docker-compose.yml 文件:

  web:
    image: onlybelter/django_py35
    command: /bin/sh -c "python check_db.py --service-name mysql --ip db --port 3306"
    volumes:
      - .:/djcode

此命令运行一个脚本来检查 MySQL 端口是否打开。如果是,脚本将显示一条指示成功的消息。

其他提示

  • 要直接连接到 MySQL 容器,请使用 mysql -h 127.0.0.1在 shell 中输入 0.1 -P 3302 -u root -p。
  • 如果您运行多个 Django 容器,请确保每个容器使用不同的端口号以避免冲突。
  • 您可以使用Docker 的 docker-compose logs 命令用于检查与数据库连接相关的任何潜在错误或警告。

以上是使用 Django 和 Docker 时如何修复“操作错误:无法连接到 MySQL 服务器”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn