docker 搭建mysql 连接不上_docker搭建MySQL主从集群

关于MySQL主从模式,如果我们直接在本机上搭建的话,是没法搭建的,只能借助于虚拟机,但有的时候我们又需要搭建一个主从集群,以便于进行一些功能性的测试。这个时候我们就可以尝试使用docker,借助于docker的容器化技术,我们只需要创建两个MySQL容器,并且占用主机的两个端口即可,对主机没有其他额外的影响。这种方式非常的轻量,而且也容易复制。本文则主要讲解如何通过docker来搭建MySQL集群。

1. 环境准备

在搭建主从集群之前,我们需要在本机上安装一个docker服务器,具体的安装步骤读者可参见docker的官网https://www.docker.com/下载服务安装。安装完成之后,执行如下命令能正常显示则说明安装成功了:

$ docker --version
Docker version 18.09.0, build 4d60db4

2. 主从集群搭建

2.1 master服务器准备

在安装完docker之后,我们首先执行如下命令运行一个master容器:

docker run --name mysql-master --privileged=true -v /home/mysql/master-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d xiaochunping/mysql-master

在执行上述命令之后,docker首先会检测本地有没有目标镜像,即xiaochunping/mysql-master,如果没有,则会下载该镜像,然后根据配置的参数运行该镜像。上述命令中各个参数的含义如下:

  • --name指定运行之后的容器的名称为mysql-master
  • --privileged指定了当前容器是否真正的具有root权限,所谓的root权限是指具有宿主机的root权限,而不仅仅只是在容器内部有root权限;
  • -v指定了容器中指定目录挂载到宿主机上的某个目录,这样做的目的在于防止容器中配置的数据丢失,因为docker容器在重启之后是不会保留前一次在其内部运行的相关数据的;
  • -p表示宿主机上的某个端口映射到docker容器内的某个端口,这里也就是将宿主机的3306端口映射到容器内部的3306端口;
  • -e表示指定当前容器运行的环境变量,该变量一般在容器内部程序的配置文件中使用,而在外部运

你可能感兴趣的:(docker,搭建mysql,连接不上)