docker 能通过容器内部访问宿主机的服务吗?

问题描述

  • 假设我使用一个web服务(什么语言都行了),和一个Redis服务,当我把redis服务在docker中运行的时候,把端口6379映射出来,这样在本地的web服务也能使用Redis了。
  • 但是把这个反过来,本地跑Redis服务,端口也是6379,docker中跑web服务,这个时候是不是就不能在容器内访问到外部的Redis服务了?

疑问

因为容器相对主机是独立的,需要通过端口来建立通信,把Redis容器的端口6379映射出来,系统会说这个端口被占用了,把主机的Redis服务停止了,容器可以启动,但是启动主机的Redis的时候,也会提示端口被占用了。

所以我想请教一下,是不是不能在容器内访问主机的服务呢?因为容器本身要和主机通信就要占用端口,而这个端口主机要来启动Redis,这就陷入了端口互相占用的死结中。

阅读 9.9k
1 个回答

用宿主机的IP加端口号链接就行了

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