在不重启动容器的情况下,允许从外部访问到容器内部的端口

目前的docker,还没有实现好热备份,一旦退出容器,即使commit到image里再启动那个image,也只不过省了文件状态恢复的时间,却不会省下db启动时分析巨大的数据文件所需的时间。

所以有必要,在不退出容器的情况下,设法让人通过访问Docker主机的某个port来访问到容器里面的某个port。目前有两个方法:

  • 在Docker主机里用iptables加个端口转发规则。
sudo iptables -A PREROUTING -t nat -p tcp --dport Docker主机port -j DNAT --to 容器ip:容器port
  • 如果是在用VirtualBox里的docker-machine做Docker主机,那么还有一个方法是物理主机上加上个路由使得能够直接访问到容器的ip。
sudo route -n add 容器ip/32 Docker主机ip

这时Docker主机ip是指docker-machine ip default的结果。这样一来,可以直接访问容器ip:容器port了。

都做过实验,具体的在Docker启动容器时的port公开方式,破除一些含糊的地方

转载于:https://my.oschina.net/osexp2003/blog/718658

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值