首先来安装dockers
1、检测本地虚拟机的版本:大于3.10的即可
2.移除旧版本
[root@localhost /]# sudo yum remove docker
3.安装必要的系统工具
[root@localhost /]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.添加软件源信息
[root@localhost /]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.更新yum缓存
[root@localhost /]# sudo yum makecache fast
6.安装docker-ce
[root@localhost /]# sudo yum -y install docker-ce
7.设置开机启动docker后台服务
[root@localhost /]# sudo systemctl enable docker
8.启动docker后台服务
[root@localhost /]# sudo systemctl start docker
以上就是安装dockers的所有过程
下面拉取镜像MySQL
首先拉取docker镜像,我们这里使用5.7版本的mysql:
通常使用通过国外来下载(比较慢)
docker pull mysql:5.7
小弟这里连接的是国内的,快的吓人
[root@localhost ~]# docker pull daocloud.io/library/centos:latest
[root@localhost ~]# docker pull daocloud.io/library/mysql:5.7
5.7: Pulling from library/mysql
85b1f47fba49: Pull complete
5671503d4f93: Pull complete
3b43b3b913cb: Pull complete
4fbb803665d0: Pull complete
05808866e6f9: Pull complete
1d8c65d48cfa: Pull complete
e189e187b2b5: Pull complete
02d3e6011ee8: Pull complete
d43b32d5ce04: Pull complete
2a809168ab45: Pull complete
Digest: sha256:a0423a7d021b7a7775f1d2db1014bd15fde029f538c1f8d97c9832aa4a25209f
Status: Downloaded newer image for daocloud.io/library/mysql:5.7
#安装完成后查看一下镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/library/centos latest 470671670cac 6 weeks ago 237MB
daocloud.io/library/mysql 5.7 a1aa4f76fab9 8 months ago 373MB
然后使用此镜像启动容器,这里需要分别启动主从两个容器
(需要注意的是:mysql镜像名的前缀不能忘记,否则报错! 完整的名字: daocloud.io/library/mysql:5.7)
docker run -p 3339:3306 --name jxc-mysql-master -e MYSQL_ROOT_PASSWORD=root -d daocloud.io/library/mysql:5.7
docker run -p 3340:3306 --name jxc-mysql-slave -e MYSQL_ROOT_PASSWORD=root -d daocloud.io/library/mysql:5.7
如果启动报错别慌!
查看容器,然后启动他
Master对外映射的端口是3339,Slave对外映射的端口是3340。因为docker容器是相互独立的,每个容器有其独立的ip,所以不同容器使用相同的端口并不会冲突。这里我们应该尽量使用mysql默认的3306端口,否则可能会出现无法通过ip连接docker容器内mysql的问题。
此时可以使用Navicat等工具测试连接mysql 注意关闭linux 的防火墙
下面来一套简单命令:
docker pull mysql:7.7 拉取镜像命令
docker ps 查看当前运行的容器
docker ps -a 查看当前运行以及之前的容器
docker run 创建容器
docker exec -it 进入到容器内部
docker start 容器id 启动容器
docker images 查看所有docker 的镜像
docker rmi [image] 删除镜像
docker rm -f a658 删除容器
Dockers简单理解
基于Docker的Mysql主从复制搭建
mysql 主从复制(主库和从库)(读写分离)的意义
解决高并发、减轻单台数据库的压力、提高并发量
主库称为写库(新增、删除、修改操作执行写库),从库称读库
为什么基于Docker搭建?
资源有限
虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐
一台机器上可以运行多个Docker容器
Docker容器之间相互独立,有独立ip,互不冲突
Docker使用步骤简便,启动容器在秒级别