我已经开始使用 docker 进行开发,设置如下:
- 主机 - ubuntu 服务器。
- Docker 容器 - 带 Tomcat 服务器的 Web 应用程序(使用 https)。
就主机容器访问而言 - 一切正常。However,我无法从远程计算机访问容器的 web 应用程序(尽管仍在同一网络中)。
跑步时
docker port <container-id> 443
输出符合预期,因此 docker 的端口绑定看起来很好。
172.16.*.*:<random-port>
有任何想法吗?
Thanks!
我弄清楚了我错过了什么,所以这里有一个从远程计算机访问 docker 容器 web 应用程序的简单流程:
Step #1:将物理主机端口(例如22、443、80...)绑定到容器的虚拟端口。
可能的语法:
docker run -p 127.0.0.1:443:3444 -d <docker-image-name>
(see 用于端口重定向的 docker 文档包含所有选项)
Step #2:将主机的物理端口重定向到容器分配的虚拟端口。可能的(Linux)语法:
iptables -t nat -A PREROUTING -i <host-interface-device> -p tcp --dport <host-physical-port> -j REDIRECT --to-port <container-virtual-port>
这应该涵盖基本用例。
祝你好运!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)