目录
本章目标:
- 自定义网络
- 数据库
正文:
注:创建两个网络mynet和mynetwork
1. 自定义网络-mynet
创建自定义网络:
docker network create --subnet=172.33.0.0/16 mynet
查看网络信息
docker network list
查看指定网络的详细信息
docker network inspect mynet
删除指定网络
docker network rm mynet
创建容器并测试自定义网络
docker run -it --name t1 --net mynet \
--ip 172.18.0.2 --restart=always centos:latest /bin/bash
向docker compose移植
mkdir /docker-compose
rz
注:请在docker-compose.yml文件所在目录去执行,不然将报错
在新建的vim docker-compose.yml文件放入
version:"3"
services:
test:
images:centos
networks:
my_net:
ipv4_address:172.33.0.100
deploy:
replicas:3
networks:
my_net:
driver:bridge
ipam:
config:
- subnet:172.33.0.0/16
放好之后 我们运行一下
docker-compose up -d
主从的作用:
实现数据的同步
减轻数据库压力(读写分离)
主服务器上得有一个binlog日志文件
主服务器会将增加改的操作记录到binlog
从服务器·连接上主服务器的时候
主服务器将binlog 推送到从服务器
从服务器执行一遍binlog
部署mysql主从集群
在宿主机中创建相关目录,用于挂载容器的相关数据
mkdir {conf,data,script}再放入这个文件
在cd slave文件
mkdir {conf,data,script}
再放入这个文件
上传主数据库容器的配置文件my.cnf到/data/mysql-master/conf目录下
$ cd /data/mysql-master/conf注意:将mysql/mysql-master目录下的conf上传
把以下的主从复制到my.cnf文件里面version:"3" services: test: images:mysql/mysql-server:5.7 networks: my_net: ipv4_address:172.18.0.0/16 volumes: -/soft/mysql/master/conf/my.cnf:/etc/my.cnf -/soft/mysql/master/data:/var/lib/mysql -/soft/mysql/master/script:/script restart: on-failure privileged:true environment: MYSQL_ROOT_PASSWORD=123456 networks: - my_net slave: image:mysql/mysql-server:5.7 volumes: - /soft/mysql/slave/conf/my.cnf:/etc/my.cnf - /soft/mysql/slave/data:/script - /soft/mysql/slave/script restart: on-failure #也可以 使用--restart=always \一直 privileged:true environment: MYSQL_ROOT_PASSWORD=123456 networks: my_net: driver:bridge ipam: config: - subnet:172.18.0.0/16
然后: docker-compose up -d
docker-compose exec master bash #进入文件
再重新开一个窗口 先切换到所在文件的位置再去执行命令:
docker-compose exec master bash
登录:
mysql -uroot -p123456
再去查看:
show master status;
找到从服务器登录
mysql -uroot -p
复制到从服务器
CHANGE MASTER TO MASTER_HOST='172.18.0.100', MASTER_PORT=3306, MASTER_USER='root',
MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=154;
开启服务:
start slave;
查看连接状态
show slave status\G;
在主服务器:
grant all on *.* to root@'%' identied by "123456";
查看
docker inspect soft_slavr_1
查看
docker inspect soft_master_1