Mengesahkan Kesediaan MySQL dalam Bekas Docker
Apabila menggunakan berbilang bekas Docker, adalah penting untuk menentukan ketersediaan perkhidmatan sebelum meneruskan tugas lain. Bekas MySQL sangat sensitif terhadap isu pemasaan kerana skrip permulaannya. Ini boleh membawa kepada ralat jika skrip cuba mengakses pangkalan data sebelum ia siap sepenuhnya.
Untuk menangani cabaran ini, alternatif untuk menggunakan Bash sleep ialah memanfaatkan utiliti mysqladmin, yang disertakan dalam pakej mysql-client . Dengan menggabungkan mysqladmin dengan gelung tunggu, anda boleh menyemak kesediaan MySQL dengan pasti.
Begini cara untuk melaksanakannya:
while ! mysqladmin ping -h"$DB_HOST" --silent; do sleep 1 done
Dalam skrip ini, arahan ping cuba mewujudkan sambungan ke MySQL dan mengembalikan status bukan sifar jika perkhidmatan itu belum tersedia. Pilihan --silent menyekat output, menjadikannya ideal untuk semakan berulang.
Dengan memasukkan gelung tunggu ini, anda boleh memastikan bahawa skrip berikutnya hanya akan dilaksanakan sebaik sahaja MySQL siap sepenuhnya dan bersedia untuk menerima pertanyaan, menghapuskan kemungkinan ralat dan memperbaik aliran kerja penggunaan anda.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Kesediaan MySQL dalam Bekas Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!