网页仅在本地可见

时间:2017-11-14 12:27:10

标签: docker docker-machine

en1 (local machine):  192.168.1.5 /24
vboxnet0: 192.168.99.1 /24
docker-machine ip: 192.168.99.100
docker daemon: tcp://192.168.99.100:2376
docker0 (bridge): 172.17.0.1

然后我运行容器:

docker run -p 5000:5000 friendlyhello &
container's ip: 172.17.0.2/16

但我只能看到网页运行在192.168.99.100:5000,并且只能在我的本地计算机上运行,​​而不能从连接到局域网的任何其他计算机运行。此外,web-app friendlyhello正在使用微框架Flask来提供页面。

如何从LAN或Internet上的其他计算机上的浏览器中查看Web应用程序?

1 个答案:

答案 0 :(得分:0)

您的容器在docker-machine创建的VM中运行,虽然您已经为容器发布了端口5000,但是Docker-machine上的端口无法直接从LAN的其余部分访问。您必须将本地主机中的端口5000(或您喜欢的任何其他端口)转发到VM中的端口5000,以便从LAN的其余部分获取流量。

正如本answered question所示,您应该使用以下内容:

docker-machine ssh default -L 5000:localhost:5000