提示:
在 docker 中新建网络后,容器绑定在新建网络上的容器可以用容器名ping其他的容器,但是在默认网络上的容器是无法直接使用容器名ping通的
bridge网络搭建
1、安装brctl
yum install -y bridge-utils
# 运行命令
brctl show
2、新建网络
docker network create -d bridge zkc
3、将容器绑定到新建的bridge网络上(容器没运行)
# 镜像拉取
docker pull mysql
# 创建挂载目录
mkdir -p /docker/mysql/{log,conf,data}
# 运行容器
docker run --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=2418870649 -e TZ=Asia/Shanghai -d -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/log:/var/log/mysql --network zkc mysql:8.0.16 --lower_case_table_names=1
# 显示bridge列表
brctl show
# 显示网络的详细信息
docker network inspect zkc
4、将已经运行的容器绑定到新建的网络上(容器运行)
docker network connect zkc-bridge tomcat9
# 显示bridge列表
brctl show
# 显示网络的详细信息
docker network inspect zkc-bridge
5、验证使用容器名字(name),容器之间相互ping通
6、验证使用容器ip,容器之间相互ping通
7、容器ip固定
在没有固定ip之前容器每一次重启容器的ip都会发生变化(多个容器绑定在一个网络上)
# 新建网络
docker network create -d bridge --subnet=172.172.0.0/24 --gateway 172.172.0.1 zkc-network
# 列出网络
docker network ls
docker run -itd --name tomcat9 -p 8080:8080 --net zkc-network --ip 172.172.0.10 tomcat:9.0.20-jdk8
--net mynetwork:选择存在的网络
--ip 172.172.0.10:给nginx分配固定的IP地址
# 查看bridge网络详情。主要关注Containers节点信息。 (可以查看容器的ip)
docker network inspect zkc-network
# 停止容器
docker stop tomcat9
# 重启容器
docker start tomcat9
# 查看bridge网络详情。主要关注Containers节点信息。 (可以查看容器的ip)
docker network inspect zkc-network