java1234开源博客系统
博客信息

docker自定义网络模式,实现容器固定ip地址

0
发布时间:『 2020-02-23 22:53』  博客类别:Mycat  阅读(2461) 评论(0)

docker自定义网络模式,实现容器固定ip地址


我们在使用Docker容器时候,每次启动容器,容器分配到的虚拟IP经常变动,比如我们现在使用Mycat + Mysql,我们是需要配置Mysql服务IP地址的,这个IP是Docker分配的虚拟IP,假如老是变,那我们还得老是修改配置,那就很麻烦了;所以我们需要固定手工分配容器IP;

 

Docker默认使用的是bridge 桥接网络模式,

我们可以查看下 docker network ls 

QQ鎴浘20200220084153.jpg

 

我们创建自定义网络模式;

docker network create --subnet=172.20.0.0/16 extnetwork

1581217846974035853.jpg

 

创建容器并指定IP;

通过--net extnetwork --ip 172.20.0.2 指定   

案例:

  docker run -p 3306:3306 --name master   -d  -v /home/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/ -v /home/mysql/log/:/var/log --net extnetwork --ip 172.20.0.2  -e MYSQL_ROOT_PASSWORD=123456  镜像ID 

 docker run -p 3307:3306 --name slave   -d  -v /home/mysql2/mysql.conf.d/:/etc/mysql/mysql.conf.d/ -v /home/mysql2/log/:/var/log --net extnetwork --ip 172.20.0.3 -e MYSQL_ROOT_PASSWORD=123456  镜像ID 

 

我们启动两个Mysql容器,并且固定分配IP  172.20.0.2和172.20.0.3

(注意:这里必须用172.20.0.2开始分配,因为172.20.0.1是网关;)

 

docker inspect 容器id

 QQ鎴浘20200220102132.jpg

 

QQ鎴浘20200220102109.jpg


完美分配了;

我们后面mycat也分配一个 172.20.0.4 这样就容易运维了;


 扩展:

docker network rm extnetwork #删除网络

docker rm -f $(docker ps -qa) #删除所有容器

 


关键字:   无
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有