Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyambung dengan Amanah ke Bekas MySQL dari Bekas Lain?

Bagaimana untuk Menyambung dengan Amanah ke Bekas MySQL dari Bekas Lain?

DDD
DDDasal
2024-10-25 15:41:02984semak imbas

How to Reliably Connect to a MySQL Container from Another Container?

Menyambung ke Bekas MySQL daripada Bekas Lain

Mengekalkan sambungan antara bekas boleh menjadi penting dalam sistem teragih. Apabila bekerja dengan bekas MySQL, mengakses pangkalan data daripada bekas lain adalah penting.

Pernyataan Masalah:

Anda telah mencipta bekas MySQL yang mendedahkan port 3306. Dalam bekas lain, anda cuba mengakses pangkalan data ini menggunakan alamat IPnya. Walau bagaimanapun, anda merasakan kaedah ini tidak boleh dipercayai dan sedang mencari pilihan spesifikasi hos alternatif.

Penyelesaian:

Legasi --pautan bendera yang digunakan untuk menyambungkan bekas kini dipertimbangkan ketinggalan zaman. Sebaliknya, rangkaian yang ditentukan pengguna disyorkan.

Untuk menyambungkan kedua-dua bekas pada rangkaian yang sama:

docker run -d --name php_container --network my_network my_php_image
docker run -d --name mysql_container --network my_network my_mysql_image

Mekanisme:

Dengan meletakkan kedua-duanya bekas pada rangkaian yang ditakrifkan pengguna yang sama ("rangkaian_saya" dalam contoh ini), setiap bekas boleh berkomunikasi dengan yang lain menggunakan nama bekas yang ditetapkan sebagai nama hos.

Sebagai contoh, untuk mengakses bekas MySQL dalam PHP bekas menggunakan mysqli, anda akan tentukan:

$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");

Atas ialah kandungan terperinci Bagaimana untuk Menyambung dengan Amanah ke Bekas MySQL dari Bekas Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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