Menyambung ke MySQL dalam Bekas Docker daripada Hos
Penerangan Masalah:
Apabila cuba menyambung ke pangkalan data MySQL yang berjalan dalam bekas Docker dari mesin hos, mesej ralat ditemui: "Tidak boleh sambung ke pelayan MySQL tempatan melalui soket '/var/run/mysqld/mysqld.sock'".
Fail Docker:
Fail Docker berikut digunakan untuk mencipta MySQL bekas:
FROM ubuntu:14.04.3 RUN apt-get update && apt-get install -y mysql-server RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf EXPOSE 3306 CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
Gagal Percubaan:
Walaupun berjaya memulakan tika MySQL dalam bekas, menyambung kepadanya daripada hos dengan mysql -P 12345 -uroot mengakibatkan ralat soket.
Penyelesaian :
Untuk menyambung ke pangkalan data MySQL yang dijalankan dalam bekas Docker dari mesin hos, langkah berikut adalah perlu:
Arahan untuk Sambungan Hos:
mysql -h localhost -P 3306 --protocol=tcp -u root
Menukar Port:
Jika berbeza port digunakan untuk mendedahkan contoh MySQL dalam bekas Docker (cth., 12345), ia harus dinyatakan dalam arahan sambungan juga:
mysql -h localhost -P 12345 --protocol=tcp -u root
Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Instance MySQL Dockerized dari Mesin Hos?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!