我已经开始使用docker进行开发,并进行以下设置:
就主机-容器访问而言-一切正常。 但是 ,我无法从远程计算机(尽管仍然在同一网络中)访问容器的webapp。
跑步时
docker port <container-id> 443
输出符合预期,因此docker的端口绑定看起来不错。
172.16.*.*:<random-port>
有任何想法吗?
谢谢!
我发现了我错过的内容,因此这是一个从远程机器访问docker容器webapp的简单流程:
步骤#1 :将物理主机端口(例如22、443、80等)绑定到容器的虚拟端口。可能的语法:
docker run -p 127.0.0.1:443:3444 -d <docker-image-name>
(有关所有选项的端口重定向,请参阅docker docs)
步骤2 :将主机的物理端口重定向到容器分配的虚拟端口。可能的(linux)语法:
iptables -t nat -A PREROUTING -i <host-interface-device> -p tcp --dport <host-physical-port> -j REDIRECT --to-port <container-virtual-port>
那应该涵盖基本用例。
祝好运!