Web 遵循容器内的docker端口映射

Web 遵循容器内的docker端口映射,web,docker,port,Web,Docker,Port,我有一台带有静态外部ip的云pc,f.e.162.243.100.100 在内部,我安装了带有nginx的docker,并像这样映射了80个端口 docker run -it -p 80:80 nginx 我可以从主机访问nginx演示页面 我能够从所述容器内的curl localhost访问nginx演示页面 但我希望能够从命令curl 162.243.100.100从所述nginx容器内部访问ngninx演示页面。 似乎这不符合端口映射,只需给我超时错误。 我想我需要对网络设置做些什么,但

我有一台带有静态外部ip的云pc,f.e.
162.243.100.100
在内部,我安装了带有nginx的docker,并像这样映射了80个端口

docker run -it -p 80:80 nginx
我可以从主机访问nginx演示页面 我能够从所述容器内的
curl localhost
访问nginx演示页面

但我希望能够从命令
curl 162.243.100.100
从所述nginx容器内部访问ngninx演示页面。
似乎这不符合端口映射,只需给我超时错误。
我想我需要对网络设置做些什么,但不知道该做什么。

在该网络中创建并启动容器:

docker network create --subnet 172.16.0.0/16 dockernet

docker run -it -p 80:80 --net=dockernet nginx
简单的回答是“不要那样做。”


Docker的默认iptables规则和路由表没有设置为通过Docker代理将流量从容器路由到主机并返回容器。考虑到这在多大程度上是一种反模式,我不希望它成为改变这种行为的优先事项。当从一个容器到另一个容器交谈时,使用该工具并使用docker网络和容器名称要容易得多。

为什么要从容器内的IP地址访问它?localhost怎么了?
162.243.100.100
是主机的IP地址,而不是容器的IP地址。该容器类似于同一网络或不同网络中的另一台机器。这真的是你需要的吗?脱离上下文,这没有多大意义。