我在Linux上看到了另一張票。我的問題是在Windows上。如何從Windows機器的Docker容器內連接到localhost上的MySQL服務器?
我希望我的Java代碼在容器中運行,以連接到MySQL上的localhost
或即127.0.0.1
。
我能夠通過主機從localhost
或127.0.0.1
連接到MySQL,但不能從容器內連接到MySQL。
我也試過網絡選項是--net="host"
。
我在Linux上看到了另一張票。我的問題是在Windows上。如何從Windows機器的Docker容器內連接到localhost上的MySQL服務器?
我希望我的Java代碼在容器中運行,以連接到MySQL上的localhost
或即127.0.0.1
。
我能夠通過主機從localhost
或127.0.0.1
連接到MySQL,但不能從容器內連接到MySQL。
我也試過網絡選項是--net="host"
。
您可以使用該主機名從容器內連接到主機上運行的服務:docker.for.win.localhost
net = host選項不適用於Docker for Windows。
要連接到主機,您需要在docker網絡接口上獲取主機的ip,並使用該ip連接。
在你的windows機器上運行命令ipconfig
,並獲得docker接口的ip。在容器內部使用該IP連接到主機上運行的MYSQL。
試過上述建議。沒有運氣。我應該在MySQL方面對上述建議進行更改嗎? Ipconfig顯示了與DockerNat相關的地址10.0.75.1,並且在容器內運行的代碼使用了此IP。 – user2849678
你可以嘗試執行內部容器和ping 10.0.75.1。 'docker exec -it <容器名> bash' – yamenk
是的,我可以用這個IP成功ping,但不能讓MySQL監聽這個IP。上面的解決方案docker.for.win.localhost工作。 – user2849678