当前位置:   article > 正文

docker内部如何访问宿主机上的服务或者应用_docker如何访问宿主机的java应用

docker如何访问宿主机的java应用

背景

docker启动的容器中需要访问宿主机上的服务,所以在容器中通过localhost或者127.0.0.1 。但是这样是不行的。
访问url:http://127.0.0.1:8088 或者http://localhost:8088

原因

docker是一个虚拟环境,127.0.0.1和localhost指的是虚拟环境内部,而不是外部宿主机,所以无法这样访问.

解决方案

  1. 对于mac和windows,可以使用host.docker.internal替换127.0.0.1,如http://host.docker.internal:9200 (亲测好使)

  2. 对于Linux可以采用如下方案

    创建一个桥接网络

下面的localNet是网络名字,可自行修改;关于192.168.0.0这个子网,也可以自行定义.
默认按照下面的命令,执行后将可以通过192.168.0.1访问宿主机.

docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 localNet

  • 1
  • 2

创建成功后可以通过docker命令查看创建的网络

docker network ls
  • 1

使用192.168.0.1替换127.0.0.1,如http://192.168.0.1:8088

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/87525
推荐阅读
相关标签
  

闽ICP备14008679号