多容器建立链接
docker run -d --name nginx-1 -p 8080:80 nginx
docker run -d --name nginx-2 --link nginx-1:nginx nginx
#将nginx-2这个容器起一个别名叫nginx,目的是在nginx-2这个容器的/etc/hosts文件里面添加一条解析记录
docker exec -it nginx-2 /bin/bash
cat /etc/hosts
作用:就是增加一条解析记录方便通过主机名访问
网络类型

但是都不能跨主机容器通信,这时候就需要跨主机通信的方案,用到overlay,overlay网络用于不同主机上的docker容器相互通信。
容器底层网络通信实验
docker network create --driver bridge wyt
#创建一个网络类型
docker network ls
#查看网络类型

docker run -d -it --name wyt-ubuntu ubuntu
#开启一个ubuntu容器使用默认的网络类型
docker run -d -it --name wyt-ubuntu2 ubuntu
#开启第二个ubuntu容器使用默认的网络类型
docker exec -it wyt-ubuntu /bin/bash
#进入容器1内部终端
cat /etc/hosts
#查看容器IP地址
exit
#退出容器1终端
docker exec -it wyt-ubuntu2 /bin/bash
#进入容器2内部终端
cat /etc/hosts
#查看容器IP地址


两台容器都是172.17.0.0网段的,我们在172.17.0.4的终端ping172.17.0.3,之间可以通信。

当我们使用自定义的网络类型
docker run -d -it --name wyt-ubuntu3 --network wyt ubuntu
#创建使用自定义网络类型的容器3
docker exec -it wyt-ubuntu3 /bin/bash
#进入容器3终端
cat /etc/hosts

我们发现它是172.18.0.0网段的,我们进入容器1测试一下是否有路由转发可以与容器3通信(因为容器1安装了ping命令,而容器3没有安装所以我要进入容器1)

我们发现无法与容器通信,但是可以ping通容器的网关,因为容器的网关是在宿主机新开的一个LAN口。