docker自定义容器ip

docker启动容器做集群时需要固定ip,否则每次重启都会重新分配ip就会很坑

docker 查看已有的网桥:

docker network ls

docker自定义容器ip_第1张图片

 我已经新建了一个,没有新建的话只有下面三个,因为docker有默认的网桥,name为bridge的那个就是,在新建容器时不能指定ip,所以需要新建自己的网桥

docker network create -d bridge --subnet=192.168.210.0/24 --gateway=192.168.210.1 -o parent=eth0 cc

参数意义:-o parent=eth0       通过宿主机的eth0访问外网

                  cc                           是网桥名字

                  --subnet=192.168.210.0/24    中网段 210 自定义即可,都可以

创建完就是上面那个样子


额外补充:查看已创建网桥的网段: docker network inspect bridge

 

docker自定义容器ip_第2张图片


然后创建mysql容器

创建目录

/my/mysql/conf

/my/mysql/data

首先从已经有的测试用mysql容器复制出my.cnf文件放在/my/mysql/conf下,根据需要自定义配置文件

这里放上我的一个

[mysqld]
server-id=2
log_bin=master-bin
log_bin-index=master-bin.index
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
#log-error	= /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address	= 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

docker run -di --name=msql_master  --net=cc --ip=192.168.210.3

  -v /my/mysql/conf:/etc/mysql/mysql.conf.d/ 

  -v /my/mysql/data:/var/lib/mysql

  -p 3306:3306

  -e MYSQL_ROOT_PASSWORD=123456

  mysql:5.7

参数意义:

两个-v,一个是配置文件,一个是mysql数据文件方便在宿主机上操作

-e 是设置密码

你可能感兴趣的:(docker,docker,容器,tcp/ip)