Docker-compose: Menentukan Kesediaan Sambungan MySQL
Dalam Docker Compose, memastikan ketersediaan sambungan pangkalan data sebelum memulakan bekas aplikasi boleh satu langkah kritikal dalam orkestrasi. Untuk mencapai matlamat ini, pilihan pemeriksaan kesihatan dan bergantung_pada menawarkan penyelesaian yang mudah.
Walau bagaimanapun, mengkonfigurasi pemeriksaan kesihatan yang berkesan untuk MySQL boleh menimbulkan cabaran. Mari kita terokai pendekatan yang disebut dalam pertanyaan dan nilaikan batasannya:
Penyelesaian terletak pada arahan pemeriksaan kesihatan yang berbeza:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
Arahan ini secara langsung menguji ketersediaan pelayan MySQL pada localhost dan berfungsi sebagai penunjuk yang boleh dipercayai tentang kesediaannya untuk sambungan. Dengan menggunakan pemeriksaan kesihatan ini, anda boleh memastikan bahawa bekas aplikasi anda hanya bermula setelah MySQL dimulakan sepenuhnya dan boleh diakses melalui sambungan rangkaian.
Dalam fail Docker Compose anda, anda boleh memasukkan pemeriksaan kesihatan ini seperti berikut:
services: api: ... depends_on: db: condition: service_healthy db: ... healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10
Dengan konfigurasi ini, bekas api akan menunggu sehingga pemeriksaan kesihatan bekas db berjaya sebelum memulakan, memastikan MySQL bersedia untuk menerima sambungan dan meminimumkan risiko migrasi pra-but atau kegagalan aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Kesediaan Sambungan MySQL dalam Docker Compose?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!