Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memastikan Pangkalan Data Aplikasi Docker Compose Saya Sedia Sebelum Dimulakan?

Bagaimanakah Saya Boleh Memastikan Pangkalan Data Aplikasi Docker Compose Saya Sedia Sebelum Dimulakan?

DDD
Lepaskan: 2024-12-11 15:23:11
asal
430 orang telah melayarinya

How Can I Ensure My Docker Compose Application's Database is Ready Before Startup?

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan