WSL2下的docker容器无法访问宿主机下的docker容器端口如何解决?

新手上路,请多包涵

WSL2下的docker容器无法访问宿主机下的docker容器端口如何解决?

宿主机是一台windows11电脑,在windows的docker desktop中开启了一个docker容器,监听5005端口;测试在windows powershell下和wsl bash下访问127.0.0.1:5005端口,能够正常访问;所以wsl本身的网络配置应该是没有问题。

在Windows的docker desktop中开启wsl2支持后,可以在wsl2下创建容器。创建的容器无法访问5005端口,如何解决?尝试设置localhost:5005,没有效果。

阅读 2k
2 个回答

试试容器内使用 host.docker.internal 代替 localhost

新手上路,请多包涵

在容器内使用host.docker.internal 代替 localhost之后连上了。分析原因,应该是因为容器内部的网络环境是与宿主机隔离的。如果在容器内使用 localhost,实际上指的是容器自己的网络接口,而不是宿主机的。

另外之前还试了下在docker里面新建一个网络,然后把需要互相访问的两个容器添加到同一个网络里,这个方法也有效

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏