浏览器/外网访问docker container中的hadoop

假设你制作了个docker的 hadoop的镜像,镜像名叫 hd_image,如果想在外网的浏览器中访问hadoop的50070和8088端口,则在启动镜像hd_image时,

脚本如下:

docker run -d -it -h aaaaa -p  -p  --name bbbbb hd_image

--name bbbbb,表示这个容器的名字是bbbbb.

-h aaaaa,表示容器内的主机名为aaaaa.

-d ,表示detach模式.

-p 50070 -p 8088,表示将这个容器的端口50070和8088,绑定到你的主机上。

这时,就可以在外网中,用你的主机的eth0的ip再加上映射的端口号,访问你容器内的应用了。

an example:

docker ps

会发现 PORTS下面出现了容器和主机的端口映射,比如我的是:

0.0.0.0:->/tcp, 0.0.0.0:->/tcp

然后执行命令:

sudo ifconfig eth0

会看到你主机的ip地址,比如我的是

eth0      Link encap:Ethernet  HWaddr :::0B:1B:
inet addr:192.168.4.341 Bcast:192.168.4.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe0b:1b32/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (669.1 KiB) TX bytes: (2.6 MiB)

这时,你在你的浏览器中,输入:

192.168.4.341:
192.168.4.341:

就可以分别访问你docker容器中的hadoop的50070端口和8088端口的应用了,That's all!

上一篇:MySQL 之 LOAD DATA INFILE 快速导入数据


下一篇:ASP.NET服务器控件在IE10浏览器(非兼容模式)下报脚本错误的可能解决办法