远程访问docker容器中的web服务器

2023-11-25

我已经开始使用 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(使用前将#替换为@)

远程访问docker容器中的web服务器 的相关文章

随机推荐