Django と Docker の使用時に「操作エラー: MySQL サーバーに接続できません」を修正する方法は?

Patricia Arquette
リリース: 2024-11-02 19:35:30
オリジナル
576 人が閲覧しました

How to Fix

Docker で Django を MySQL に接続する

Compose を使用して Docker 環境で 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 -P 3302 -u root -p を実行します。
  • 複数の Django コンテナを実行している場合は、競合を避けるためにそれぞれに異なるポート番号を使用してください。
  • 次のように使用できます。 Docker の docker-compose logs コマンドを使用して、データベース接続に関連する潜在的なエラーや警告がないか確認します。

以上がDjango と Docker の使用時に「操作エラー: MySQL サーバーに接続できません」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート