Ini dapat terjadi jika wadah aplikasi Anda (web
di sini) dimulai sebelum database Anda sepenuhnya diinisialisasi.
Anda harus menunggu sampai db
layanan dimulai (lebih tepatnya, hingga mysql
menerima koneksi) sebelum memulai aplikasi Anda (python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000
).
Untuk itu, Anda dapat menggunakan wait-for-it.sh
skrip (periksa https://docs.docker.com/compose/startup-order/ ) sebelum menjalankan perintah python Anda. Atau, Anda dapat menggunakan kebijakan mulai ulang di web
layanan (https://docs.docker.com/compose/compose-file/ #restart_policy
) untuk memulai ulang layanan Anda secara otomatis (sampai database aktif).