开发者社区 > 云原生 > 容器服务 > 正文

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

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

展开
收起
景凌凯 2020-04-22 17:54:33 2763 0
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 公共云容器平台领导者象限。

相关电子书

更多
阿里云文件存储 NAS 在容器场景的最佳实践 立即下载
何种数据存储才能助力容器计算 立即下载
《容器网络文件系统CNFS》 立即下载