如圖
這里設(shè)置的應(yīng)該是,將容器的3306映射到主機(jī)的3366上,但是我只能通過(guò)192.168.99.100:3366來(lái)連接容器內(nèi)的mysql服務(wù)
我宿主機(jī)的真實(shí)ip是10.0.0.2
但是我通過(guò)10.0.0.2:3366卻連接不上,求大神指點(diǎn)一下
Untuk menjawab soalan anda secara terus:
Sebab mengapa anda mesti menggunakan 192.168.99.100:3366
untuk mengakses bekas dan bukannya IP hos: 10.0.0.2
ialah: anda menggunakan Toolbox
dan Toolbox
digunakan secara lalai Apabila ia berkaitan dengan mesin maya Virtualbox
, terdapat lapisan tambahan.
Perihalan gambar:
@Youming betul. Anda disyorkan untuk menggunakan Docker untuk Mac Toolbox
akan ditinggalkan secara beransur-ansur.
Cuba lihat jika anda boleh menyambung dalam bekas Secara lalai, konfigurasi mysql hanya boleh menyambung ke alamat IP 127.0.0.1.
Berikan beberapa idea:
Uji dahulu status perkhidmatan perkhidmatan mysql pada setiap IP melalui port 3306, seperti:
telnet 10.0.0.2 3306
telnet 192.168.99.100 3306
Jika telnet mendapati port dibuka, maka semak tetapan mysql, iaitu sama ada klien mysql dengan alamat IP lain dibenarkan untuk mengakses
Untuk menambah segmen rangkaian bekas docker pada firewall, sila benarkan akses kepada hos
Mengapa anda menggunakan versi Kotak Alat Docker sekarang Jika anda terus menggunakan versi terkini Docker untuk Mac, masalah anda tidak akan menjadi masalah...
Docker sebenarnya berjalan dalam mesin maya Linux pada sistem Mac Versi Toolbox Docker menggunakan VirtualBox sebagai mesin maya Kerana ia adalah aplikasi pihak ketiga dan antara muka yang disediakan oleh aplikasi adalah terhad, walaupun Docker boleh memetakan port ke mesin maya, tetapi port mesin maya tidak boleh dipetakan ke hos. Untuk mencapai pemetaan ini, anda perlu melakukan pemetaan port secara manual dalam VirtualBox.
Versi baharu Docker untuk Mac menggunakan xhyve sebagai penyedia mesin maya Disebabkan sokongan asli sistem Mac, ia menyediakan antara muka yang lebih kaya untuk Mac juga boleh melengkapkan pemetaan port antara mesin maya dan hos . Oleh itu, dalam versi baharu Docker untuk Mac, tidak perlu memetakan mesin maya secara manual ke port hos Anda boleh terus menggunakan port tempatan 127.0.0.1 untuk mengakses bekas yang terikat kepadanya.