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

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

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

  • 在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了。.net

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

相关文章
相关标签/搜索