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

Patricia Arquette
发布: 2024-11-02 19:35:30
原创
511 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!