欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用Docker做集群管理

程序员文章站 2022-07-15 14:20:54
...

安装Docker:

1、在CentOS下使用yum安装Docker并启动
yum -y install docker
systemctl start docker
2、查看Docker信息:
docker version
docker info

Docker安装MySQL:

1、下载MySQL镜像:
docker pull mysql:5..7.0
2、查看镜像:
docker images
3、通过镜像创建并运行MySQL容器,并映射到宿主机上:
docker run -d -p 3306:3306  --name 容器名
-v /root/docker/mysql/conf:/etc/mysq/mysql.conf.d
-v /root/docker/mysql/data:/var/lib/mysql
-v /root/docker/mysql/log:/var/log/mysql/mysql.log 
-e "MYSQL_ROOT_PASSWORD=密码" mysql:5.7
4、删除容器:
docker rm 容器名
5、删除镜像:
docker rmi 镜像名
6、进入容器:
docker exec -it	容器名 /bin/bash

Docker安装MySQL集群:

需要准备的目录结构
利用Docker做集群管理

1、配置主库:

第一步:master配置文件内容

[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/error.log
server-id=1
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days=30
max_binlog_size=256M
symbolic-links=0

第二步:创建并启动主容器:

docker run -d -p 3306:3306  --name mysql-master
-v /root/docker/mysql/master/conf:/etc/mysq/mysql.conf.d
-v /root/docker/mysql/master/data:/var/lib/mysql
-v /root/docker/mysql/master/log:/var/log/mysql
-e "MYSQL_ROOT_PASSWORD=密码" mysql:5.7

第三步:重启MySQL服务

docker restart mysql-master

第四步:进入容器:

docker exec -it mysql-master /bin/bash

第五步:进入MySQL做如下操作

mysql -u root -p
grant replication slave on *.* to 'slave'@'%' identified by 'oneslave';
flush privileges;
show master status;
2、配置从库:

第一步:修改配置文件:

[mysqld]
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/error.log
server-id=2
log-bin
symbolic-links=0
slow_query_log=ON
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=1

第二步:创建并启动容器

docker run -d -p 3307:3306  --name mysql-slave-1
-v /root/docker/mysql/slave-1/conf:/etc/mysq/mysql.conf.d
-v /root/docker/mysql/slave-1/data:/var/lib/mysql
-e "MYSQL_ROOT_PASSWORD=密码" mysql:5.7
--link mysql-master:mysql-master mysql:5.7

第三步:连主机

docker exec -it mysql-slave-1 /bin/bash
mysql -u root -p
rest slave;
change master  to master_host='mysql-master',master_user='oneslave',master_log_file='主机找',master_log_pos=主机找;
start slave;
show slave status \G;

Docker中Redis集群:

第一步:查看容器ip

docker inspect --format '{{.NetworkSettings.IPAddress}}' 容器id
redis-server --slaveof 

第一步:创建主机容器

docker run -d -p 6370:6379 --name redis-master redis:latest redis-server --requirepass 密码 

第二步:创建从机容器

docker run -d -p 6380:6379 --link redis-master:别名 
--name redis-slave-1 redis:latest redis-server --slaveof 别名 6379 --masterauth 密码

docker run -d -p 6381:6379 --link redis-master:别名 
--name redis-slave-2 redis:latest redis-server --slaveof 别名 6379 --masterauth 密码

docker run -d -p 6382:6379 --link redis-master:别名 
--name redis-slave-3 redis:latest redis-server --slaveof 别名 6379 --masterauth 密码

第四步:验证

docker exec -it redis-master /bin/bash
redis-cli
auth 密码
info replication

Docker构建自己的镜像:

方法一:commit

第一步:创建自己的镜像:

docker commit 容器id 前缀/镜像名

第二步:将镜像打包

socker save 前缀/镜像名 -o mysql.tar

第三步:

别人下载:

第四步:

docker load mysql.tar
方法二:使用Dockerfile构建镜像

第一步:
利用Docker做集群管理
第二步:
利用Docker做集群管理
第三步:

	docker build -t '镜像名'

Nginx文件结构

利用Docker做集群管理

相关标签: 集群搭建