docker 下搭建 mysql(使用mysql-router做簡單的負載均衡)
/etc/docker/daemon.json 國內鏡像加速
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
docker 運行容器命令
docker run -i -t centos /bin/bash
總是自動重啓這個容器
docker run -i -t --restart=always centos /bin/bash
要下載 docker hub mysql 官方鏡像
docker pull mysql
docker 容器內 運行的 mysql 數據保存的地方, 數據不要保存在 docker 的容器內 要保存在 物理機器上
# 物理機地址 /data/docker_mysql_data/master01
配置啓動 mysql 的配置文件
# mysql 配置文件目錄 /data1/docker_mysql_data/master01/conf
master 的配置
# mysql配置文件 /data1/docker_mysql_data/master01/conf/my.cnf
數據庫文件 數據 二進制log 存放位置
# 數據庫 數據存放的 物理機位置 /data1/docker_mysql_data/master01/data chmod -R 777 /data1/docker_mysql_data
創建 容器 並運行
docker run -d -P --name master01 -p :3506:3306 -e mysqld -e MYSQL_ROOT_PASSWORD=root -e MYSQL_USER=bearcat -e MYSQL_PASSWORD=root -e MYSQL_DATABASE=bearcat -v /data1/docker_mysql_data/master01/data:/var/lib/mysql -v /data1/docker_mysql_data/master01/conf:/etc/mysql/conf.d mysql # 命令解釋
ip 端口
master01 172.17.0.2:3306 3506 slave1001 172.17.0.3:3306 3507 slave1002 172.17.0.4:3306 3508 mysqlrouter 172.17.0.5:7001 7001 172.17.0.5:7002 7002
mysql-router 默認config_folder
# mysql router 配置文件 物理機位置 /usr/local/etc/mysqlrouter docker run -it --name mysqlrouter -p :7001:7001 -p :7002:7002 -v /data1/docker_mysql_data/mysqlrouter/conf:/usr/local/etc/mysqlrouter centos
容器內啓動 mysql router
/usr/local/mysqlrouter/bin/mysqlrouter -c /usr/local/etc/mysqlrouter/mysqlrouter.conf &