Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyambung ke Kontena Docker MySQL dari Mesin Hos Anda?

Bagaimana untuk Menyambung ke Kontena Docker MySQL dari Mesin Hos Anda?

Linda Hamilton
Lepaskan: 2024-12-09 15:34:11
asal
516 orang telah melayarinya

How to Connect to a MySQL Docker Container from Your Host Machine?

Menyambung ke MySQL dalam Bekas Docker

Masalah:

Anda mahu menyambung ke contoh MySQL yang berjalan dalam Bekas docker daripada mesin hos anda, tetapi anda menghadapi ralat yang berkaitan dengan soket sambungan.

Konfigurasi Fail Docker

Fail Docker anda termasuk perubahan berikut:

  • Mengemas kini dan memasang pelayan MySQL
  • Mengalih keluar sekatan alamat bind dalam my.cnf
  • Mendedahkan port 3306

Jujukan Perintah Berjaya:

  1. Bina imej: docker build -t my-image .
  2. Jalankan bekas : larian buruh pelabuhan -d -p 12345:3306 my-image

Menyambung dari Dalam Bekas:

Sebaik sahaja di dalam bekas, anda boleh berjaya menyambung ke MySQL menggunakan: mysql -u root

Percubaan Tidak Berjaya daripada Hos Mesin:

Apabila cuba menyambung daripada hos menggunakan: mysql -P 12345 -uroot, anda menerima ralat yang menunjukkan ketidakupayaan untuk menyambung ke MySQL melalui soket.

Penyelesaian:

Untuk menyambung ke contoh MySQL dalam bekas Docker daripada mesin hos, gunakan yang berikut arahan:

mysql -h localhost -P 3306 --protocol=tcp -u root
Salin selepas log masuk

Ganti 3306 dengan nombor port yang telah anda majukan daripada bekas Docker (dalam kes ini, 12345).

Penjelasan:

Memandangkan MySQL berjalan dalam bekas Docker, sambungan soket tidak tersedia. Dengan menetapkan "--protocol=tcp" dalam arahan mysql, anda boleh menentukan bahawa sambungan harus dibuat melalui TCP sebaliknya.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Kontena Docker MySQL dari Mesin Hos Anda?. 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