网络配置
一 . 网络配置
-
当 Docker 启动时,会自动在主机上创建一个 docker0 虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。
-
Docker 随机分配一个本地未占用的私有网段(在 RFC1918 中定义)中的一个地址给 docker0 接口。
-
当创建一个 Docker 容器的时候,同时会创建了一对 veth pair 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 eth0;另一端在本地并被挂载到 docker0 网桥,名称以 veth 开头。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。
1. 查看网络信息
docker network ls
2. 创建一个网桥
docker network create -d bridge 网桥名称
创建网桥 -d bridge 可以省略
4. 查看网桥的详细信息
3. 删除一个网桥
docker network rm 网桥名称
4. 容器之前使用网络通信
1.启动Tomcat容器指定使用网桥
- 这里使用Tomcat容器来测试
- 注意:使用dockerrun指定–network网桥时网桥必须存在
- 注意:一旦指定网桥后–name指定名字就是主机名,多个容器指定在同一个网桥时,可以在任意一个容器中使用主机名与容器进行互通
docker run -d -p 8080:8080 --name tomcat --network ems tomcat:8.0-jre8-slim
2.在自定义网桥上创建两个Tomcat容器测试通信
可以查看当前网桥上容器的信息
3. 测试
我这Tomcat容器没有装curl命令,执行无效
我就在宿主机上测试一下,看一下效果
curl http://192.168.153.170:8080