docker 容器如何能够访问和宿主机不在同一网段的机器上提供的服务?

  1. 本地有一台宿主机 网段是 192.168.1.0/24
    1.1 假设本机IP是192.168.1.12
  2. 宿主机启动了docker容器,解析php,网段是 172.28.0.1/24
    2.1 容器IP是 172.28.0.4
  3. 在同一个局域网不同的网段192.168.10.0/24有台机器提供redis服务
    3.1 服务ip是 192.168.10.244
  4. 通过VPN将本地局域网A和远端局域网B连起来,局域网B处于192.168.3.0/24,同时也有台机器提供redis服务
    4.1 服务ip是192.168.3.195

问题:
我通过容器连接局域网A提供的redis服务,连接不上 配置的连接redis的地址为 192.168.10.244
通过容器连接局域网B提供的redis服务,可以连接上,前提VPN连接上 192.168.3.195

在容器中curl 192.168.10.244 可以正常返回

我该如何配置能够在容器中连接上局域网A提供的redis服务呢?
谢谢!!!

补充,容器需要连接redis服务(外部服务),本身不提供服务,所以我认为应该不需要开放某些端口,除了自身执行解析服务的端口
我在想是否是因为容器和局域网A提供服务的主机不在同一个网段导致的,但是在容器内curl 192.168.10.244是可以访问到的,实在是没想通,请各位大神们提个招。感激不尽!!!

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