如何让容器访问宿主机端口

在一个宿主机上有两个docker 容器,一个是mysql 的容器,一个是网站的容器。我把网站容器的network设置为mysql的network,这样可以方便的用内网方式访问mysql。但是现在我又想让网站访问宿主机的127.0.0.1:6739端口,请问应该怎么设置网络,现在的情况是不仅127.0.0.1不能访问,而且宿主机的内网IP地址也不能访问

展开
收起
景凌凯 2020-04-22 17:54:33 2797 分享 版权
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    • 宿主机会托管一个虚拟ip给docker,使用 docker inspect 容器名
    • 宿主机的127.0.0.1你是无法访问的,因为他是环回地址,正确的做法应该是访问宿主机的 公网ip地址:6379 ;宿主机的ip地址和docker不在同一个网段下,要用的话,也只能用公网地址
    • 解决方法非常简单。docker run 的时候,添加一个参数 --network host 即可。这样操作以后,容器和宿主机共用同一个网络,相当于自己访问自己了,而且还可以直接使用127.0.0.1了。--network host 还有一个作用:不需要做端口映射了,容器的端口就是宿主机的端口。
    2020-04-22 17:55:11
    赞同 展开评论

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理