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:
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-compose を使用して Docker 環境内で Django と MySQL の間に安定した接続を確立できます。
以上が以下は、記事の本質を捉えた質問形式のタイトルです。 Django アプリが Docker-Compose を使用して Docker で MySQL に接続できないのはなぜですか? その他のバリエーションをいくつか示します。 * Django から MySQL への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。