查看docker网络接口信息
命令ifconfig(命令输出详解在之前的博文中介绍过)
[root@VM_116_112_centos ~]# ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:4c:1c:ed:53 txqueuelen 0 (Ethernet)
RX packets 36810 bytes 2123908 (2.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 49339 bytes 68854258 (65.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
PS:注意一点docker0这个网络接口,是docker默认分配的,它的IP地址属于 172.16.0.0—172.31.255.255 的私有IP地址。
expose Docker的网络端口
当我们在docker上运行网络应用,我们需要在外部访问docker中运行的应用,利用端口映射的方式来将宿主机上空闲的端口映射到容器中对外开放的端口。一般的方式是在运行docker run命令时添加-p或者-P来实现的。
-P:宿主机会为应用随机分配一个空闲的端口号,映射到容器对外开放的端口。从而向网络暴露docker的端口。
接下来我们用一个例子来演示一下:
这个例子我们需要用到docker hub上的名为training/webapp的镜像。
docker search training/web
[root@VM_116_112_centos gitDockerfile]# docker search training/webapp
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
training/webapp 46 [OK]
dcransto/training-webapp This is a training webapp 0 [OK]
dilam/webapp-training Docker