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.
Fail Docker anda termasuk perubahan berikut:
Jujukan Perintah Berjaya:
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.
Untuk menyambung ke contoh MySQL dalam bekas Docker daripada mesin hos, gunakan yang berikut arahan:
mysql -h localhost -P 3306 --protocol=tcp -u root
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!