一、docker网络概述
1、docker网络实现的原理
Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP, 同时Docker网桥是 每个容器的默认网关。
因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。
Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过 Container-IP 访问到容器。
如果容器希望外部访问能够访问到,可以通过映射容器端口到宿主主机(端口映射),即 docker run 创建容器时候通过 -p 或 -P 参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。
1.1 随机映射端口( 从32768开始)
docker run -d --name test1 -P nginx(镜像)
1.2 指定映射端口
docker run -d --name test2 -p 49157:80 nginx
docker ps -a
1.3 浏览器访问测试
浏览器访问: http://192.168.2.66:49156 、 http://192.168.2.66:49157