Rumah > Artikel > pangkalan data > Mengapa apl Django saya dalam Docker Compose tidak dapat menyambung ke MySQL, walaupun saya mempunyai nama port dan bekas yang betul?
Penyelesaian Masalah Gagal Sambungan Django-MySQL dalam Docker Compose
Dalam artikel ini, kami akan menangani isu mewujudkan sambungan antara Django dan MySQL dalam bekas Docker menggunakan Docker Compose. Walaupun mengkonfigurasi bekas seperti yang digariskan dalam soalan, pengguna menghadapi ralat berikut:
django.db.utils.OperationalError: (2003, 'Can\'t connect to MySQL server on \'mariadb55\' (111 "Connection refused")')
Selepas menyelesaikan masalah yang menyeluruh, pengguna menemui punca dan penyelesaiannya. Berikut ialah cerapan penting:
Inti Utama:
Konfig Karang Docker Yang Dikemas Kini:
services: db: ... ports: - "3302:3306" web: ... command: python3 manage.py runserver 0.0.0.0:6001 ... volumes: - .:/djcode ports: - "6001:6001" depends_on: - db
Fail Tetapan Django yang dikemas kini:
DATABASES = { 'default': { ... 'HOST': 'db', 'PORT': '3306', ... } }
Petua Tambahan:
Dengan melaksanakan perubahan ini, pengguna berjaya mewujudkan sambungan antara Django dan MySQL dalam Docker bekas, menyelesaikan ralat "Tidak dapat menyambung ke pelayan MySQL".
Atas ialah kandungan terperinci Mengapa apl Django saya dalam Docker Compose tidak dapat menyambung ke MySQL, walaupun saya mempunyai nama port dan bekas yang betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!