Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memastikan Pangkalan Data Aplikasi Docker Compose Saya Sedia Sebelum Dimulakan?
Memastikan Kesediaan Pangkalan Data untuk Aplikasi Karang Docker
Untuk mengelakkan pelaksanaan pramatang migrasi pangkalan data atau permulaan aplikasi, adalah penting untuk memastikan pangkalan data bekas beroperasi sepenuhnya sebelum bekas apl memulakan prosesnya. Menggunakan pemeriksaan kesihatan Docker Compose dan pilihan depende_on, mekanisme boleh diwujudkan untuk mengesahkan sambungan pangkalan data dan melambatkan permulaan aplikasi sehingga pangkalan data sedia.
Dalam contoh yang disediakan, pemeriksaan kesihatan untuk bekas pangkalan data (db) menggunakan mysqladmin perintah untuk ping localhost dan semak sama ada pangkalan data menerima sambungan. Ujian ini memastikan bahawa pangkalan data bukan sahaja tersedia tetapi juga boleh diakses.
Berikut ialah versi diubah suai fail Docker Compose yang disediakan:
version: "2.1" services: api: build: . container_name: api ports: - "8080:8080" depends_on: db: condition: service_healthy db: container_name: db image: mysql ports: - "3306" environment: MYSQL_ALLOW_EMPTY_PASSWORD: "yes" MYSQL_USER: "user" MYSQL_PASSWORD: "password" MYSQL_DATABASE: "database" healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] timeout: 20s retries: 10
Dengan konfigurasi ini, bekas api akan kekal dalam keadaan digantung sehingga bekas db berjaya melepasi pemeriksaan kesihatan, menunjukkan bahawa pangkalan data beroperasi sepenuhnya dan sedia untuk sambungan. Ini memastikan bahawa apl tidak akan cuba melakukan migrasi atau mula memproses sehingga pangkalan data boleh diakses, menghalang kemungkinan isu atau ralat integriti data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Pangkalan Data Aplikasi Docker Compose Saya Sedia Sebelum Dimulakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!