Docker Compose 中的 Django:建立 MySQL 連線
在 Docker 環境中將 Django 連接到 MySQL 資料庫可能具有挑戰性。本文深入探討了嘗試建立連線時遇到的問題,導致錯誤:「無法連線到'mariadb55'上的MySQL 伺服器(111「連線被拒絕」)。」
最初,資料庫可以透過Docker Compose up db 訪問,並且可以透過Python manage.py runserver 連接本機實例。然而,Django 內部的連線失敗。
進一步調查,發現問題是由於 Django settings.py 設定檔中使用了錯誤的連接埠和主機名稱造成的。
解決方案:
解決方案是確保在 settings.py 檔案中設定正確的連接埠和主機名稱。具體來說,設定應使用“db”作為主機,而“3306”作為連接埠。
更新了settings.py:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'belter', 'HOST': 'db', 'PORT': '3306', 'PASSWORD': 'belter_2017', 'default-character-set': 'utf8', 'OPTIONS': { 'sql_mode': 'traditional', } } }
此外,一個額外的命令已添加到Docker Compose 設定檔中,用於在嘗試從Django 連接之前檢查MySQL 連接埠是否開啟。
透過應用這些更改,Docker 環境中的 Django 和 MySQL 之間的連線已成功建立。
以上是以下是一些標題選項,遵循您要求的問答格式: 選項1(更直接): * Docker Compose 中的 Django:為什麼我無法連接到我的 MySQL 資料庫? 選項 2(更具體的詳細內容。更多資訊請關注PHP中文網其他相關文章!