Bagaimana untuk Menyambung ke Bekas MySQL dari Bekas Lain di Docker?

Susan Sarandon
Lepaskan: 2024-10-28 00:20:02
asal
994 orang telah melayarinya

How to Connect to a MySQL Container from Another Container in Docker?

Menyambung ke Bekas MySQL daripada Bekas Lain

Anda telah menyediakan bekas Docker yang menjalankan MySQL dan port 3306 terdedah, tetapi bagaimana boleh anda mengakses pangkalan data itu daripada bekas lain?

Menggunakan Alamat IP

Pada mulanya, anda cuba menyambung menggunakan alamat IP bekas MySQL (172.17.0.2). Walaupun ini berfungsi, ia tidak sesuai kerana alamat IP boleh berubah.

Rangkaian Ditentukan Pengguna

Pendekatan yang lebih baik ialah menggunakan rangkaian yang ditentukan pengguna untuk menyambungkan bekas. Anda boleh mencipta rangkaian dan melampirkan kedua-dua bekas MySQL dan PHP padanya.

docker network create my_network
Salin selepas log masuk

Memautkan Bekas

Jalankan kedua-dua bekas pada rangkaian yang sama, menyediakan rangkaian nama menggunakan bendera --network:

docker run -d --name php_container --network my_network my_php_image
docker run -d --name mysql_container --network my_network my_mysql_image
Salin selepas log masuk

Dalam bekas pada rangkaian itu, anda boleh menyelesaikan nama kontena dan menyambung menggunakan nama hos. Contohnya, daripada bekas PHP, anda boleh menyambung ke MySQL menggunakan:

$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");
Salin selepas log masuk

Kesimpulan

Rangkaian yang ditentukan pengguna menyediakan cara yang lebih mantap dan fleksibel untuk menyambung bekas dalam Docker. Menggunakan nama kontena sebagai nama hos memudahkan akses dan menghapuskan keperluan untuk bergantung pada alamat IP.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Bekas MySQL dari Bekas Lain di Docker?. 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