目录
1.docker 查看网络
[root@localhost elasticsearch]# docker network ls
NETWORK ID NAME DRIVER SCOPE
368e348b1536 bridge bridge local
6ef98856144b host host local
af42a44abc32 none null local
bridge 代表网桥 host代表本机使用不与其他容器联系基本没啥用 null一样
2.docker 创建网桥
docker network create -d 类型 网桥名称
[root@localhost elasticsearch]# docker network create -d bridge network01
f1e7384e480b8be8b3fa306107bdad5efc8e501e5ae98b10e635d281ac7d49a0
查看创建结果:
[root@localhost elasticsearch]# docker network ls
NETWORK ID NAME DRIVER SCOPE
368e348b1536 bridge bridge local
6ef98856144b host host local
f1e7384e480b network01 bridge local
af42a44abc32 none null local
3.查看创建的网桥的具体信息
[root@localhost elasticsearch]# docker network inspect network01
[
{
"Name": "network01",
"Id": "f1e7384e480b8be8b3fa306107bdad5efc8e501e5ae98b10e635d281ac7d49a0",
"Created": "2023-07-18T18:02:08.389552908+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
4.删除一个网络
docker network rm 网络名
docker network prune 删除所有未被使用的网络
5.多个容器中的网络通讯
5.1 .启动之前明确使用那个网络
#运行时候添加到某个网络
docker run -d -p hostPort:containerPort --network 网络名称 ......
#通过以下语句可以查看network01网络中的具体容器的IP信息
docker network inspect network01
5.2.启动之后容器加入某个网络
docker network connect 网络名称 容器名称|id
docker network inspect network01
5.3 自定义网络之间可以使用容器名称进行通讯
比如 tomcat01 和 tomcat02都是在network01网络中
#创建tomcat01 和tomcat02容器 在network01 中
docker run -d -p 8080:8080 --name tomcat01 --network network01 tomcat:8.0
docker run -d -p 8081:8080 --name tomcat02 --network network01 tomcat:8.0
#查看network01的网络 是否包含了tomcat01和tomcat02网络
docker network inspect network01
#进入tomcat01
docker exec -it tomcat01 /bin/bash
#访问tomcat02
curl http://tomcat02:8080