现在有两台主机,属于同一个局域网,它们的IP地址分别是:

host A:172.16.0.113
host B:172.16.0.114

想让host B访问host A中的Docker。

首先在A中建立Docker Container:

sudo docker run --name container1 -it -p 8080:8000 ubuntu /bin/bash

如果要安装web server,则container的端口应该使用8080,不能使用80号端口。

这样就把Container中的8080端口映射到了宿主机A的8000端口,外部就能通过宿主机的8000端口访问Container的8080端口了。

进入Docker Container:

rooot@abc:/#

接下来在Container中部署Apache Tomcat服务器。

安装Apache服务器可以参考:
http://blog.csdn.net/csdn_lyy/article/details/70176467
或者
http://blog.csdn.net/csdn_lyy/article/details/70176495

部署完成后,在Container中打开Apache Tomcat服务器。

在B中进行测试,需要使用命令curl,不能使用ping命令,ping命令不能访问到端口,因此使用ping命令去ping A中Container的虚拟IP是ping不通的。命令是:

curl http://172.16.0.113:8000/

注意:最后的/不能省略。

如果显示的信息是HTML格式的,则说明从B访问A中的Docker Container成功了。

以上就是从外部访问Docker的方法。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐