Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memastikan Kesediaan Sambungan MySQL dalam Docker Compose?

Bagaimana untuk Memastikan Kesediaan Sambungan MySQL dalam Docker Compose?

Patricia Arquette
Lepaskan: 2024-12-14 11:33:17
asal
474 orang telah melayarinya

How to Ensure MySQL Connection Readiness in Docker Compose?

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:

  • Menyemak kewujudan direktori data MySQL: Walaupun ini mengesahkan kehadiran fail pangkalan data, ia tidak tidak menjamin bahawa MySQL sedang berjalan dan menerima sambungan.
  • Mendapatkan versi MySQL: Pendekatan ini mengesahkan kehadiran MySQL tetapi masih tidak menunjukkan kesediaan untuk sambungan.
  • Ping pentadbir: Tindakan ini menandakan bekas sebagai sihat, tetapi ia tidak memastikan pangkalan data beroperasi sepenuhnya dan menerima pelanggan permintaan.

Penyelesaian terletak pada arahan pemeriksaan kesihatan yang berbeza:

test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
Salin selepas log masuk

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

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan