compose部署

 

目录

 本章目标:

  1. 自定义网络
  2. 数据库

 正文:

注:创建两个网络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


你可能感兴趣的:(持续部署)