栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker一把梭。

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker一把梭。

目录

安装docker        

安装MySQL

设置MySQL主从(启动单机版MySQL可以不做这一步)

安装Redis

设置Redis主从(启动单机版Redis可以不做这一步)


  • 安装docker        

  • 使用国内镜像一键安装 
curl -sSL https://get.daocloud.io/docker | sh
  • 配置Docker 仓库之后,可以从仓库安装和更新 Docker。        
sudo yum install -y yum-utils 
  device-mapper-persistent-data 
  lvm2
  • 安装 Docker Engine-Community
 sudo yum install docker-ce docker-ce-cli containerd.io
  • docker的常用命令
//启动docker
systemctl start docker

//拉取镜像
docker pull :  

//查看自己拉去的镜像
docker images

//启动容器
docker run --name <容器名字> -p <暴露的端口>  -d <后台启动>

//停止容器  | 运行容器
docker stop <容器名字>  |    docker start <容器名字>

//备注:docker镜像和容器的关系,相当云Java的Bean和实例的关系差不多



  • 安装MySQL

  •  拉取mysql镜像,MySQL版本众多具体想要什么版本可以登录docker hub查看。

​​​

//我们现在拉取mysql的5.6.51 版本
docker pull mysql:5.6.51


//创建一个文件用来映射容器内部的配置文件

mkdir /root/mysql/config

//运行镜像
docker run --name mysql -p 3306:3306 
-e  MYSQL_ROOT_PASSWORD=root 
-v /root/mysql/config/:/etc/mysql/conf.d 
-d mysql:5.6.51


//--name mysql:给你运行的镜像起个名字叫mysql
// -e MYSQL_ROOT_PASSWORD=root:传递变量,设置MySQL的密码为root
//-v /root/mysql/config/:/etc/mysql/conf.d: 挂载文件(/root/mysql/config目录的有什么,MySQL容器内的/etc/mysql/conf.d就有什么).

//不挂载文件以后想要对MySQL的配置文件修改,就需要进入MySQL容器内修改
//-d mysql:5.6.51:表示后台运行


//进入容器内部
docker exec -it <容器名字> /bin/bash

//容器内无法使用vim 和 vi命令需要 下载(每个容器内使用都需要)
先:apt-get  update  
在:apt-get install vim
  • 设置MySQL主从(启动单机版MySQL可以不做这一步)

  • 配置MySQL主从至少要启动两个MySQL。

​​​

  • 修改MySQL主的配置文件(mysql-master)。
  1. 刚才启动时候做了文件映射的,直接可以在映射的位置新建一个配置文件,添加 一下配置、
  2. 没做文件映射的,进入MySQL容器,先找到MySQL的my.cnf 文件,添加上面的内容,my.cnf在etc/mysql/下,或者在/etc/mysql/conf.d下面新建一个×××.cnf配置文件也可以。

​​​

    添加的内容:

​​​

  •  修改MySQL从的配置文件(mysql-slaver)。
  1. 进入MySQL从容器内部,还是同一个目录下,修改同一个文件,添加配置如下。

 ​​​

  • 连接上图形化工具,添加以下内容(关闭防火墙不然连不上)
  1. 查看MySQL主和从是否开启日志
SHOW GLOBAL VARIABLES LIKE '%log%'

​​​

  1.   一下在MySQL主操作
//全部在主MySQL中操作

// 创建一个用户,账号master,密码master
GRANT REPLICATION SLAVE ON *.* TO 'master'@'%' IDENTIFIED BY 'master';

//账号授权	
GRANT ALL ON *.* TO 'master'@'%';

//刷新,让配置生效
FLUSH PRIVILEGES;

  1. 查询主数据库的状态信息,用来在从数据同步数据。
//在从数据库查询,主节点状态
SHOW MASTER status

​​​

  1.  一下在MySQL从库操作     
//一下命令在MySQL从数据库操作

//在主数据库上面创建的那个用户,连接主MySQL服务器,用来同步数据
CHANGE MASTER TO MASTER_HOST="82.156.190.100",
MASTER_PORT=3308,
MASTER_USER="master",MASTER_PASSWORD="master",
MASTER_LOG_FILE="f08252e11999-bin.000002",	
MASTER_LOG_POS=313;

//详细介绍
MASTER_HOST="82.156.190.100"  //改成你的ip
MASTER_PORT=3308  //mysql主  占用的端口
MASTER_USER="master"     //刚才创建用户时候的账号
MASTER_PASSWORD="master"    //密码

//我们刚才使用 show slaver status 在主数据库查询的信息填到这里
MASTER_LOG_FILE="f08252e11999-bin.000002"  //日志名
MASTER_LOG_POS=313;//

  • 查询从节点的状态 
    • SHOW SLAVE STATUS

​​​

  • 启动从节点
    • start slave

​​​

  • 关闭从节点
    • stop slave

  • 安装Redis

//拉取镜像
docker pull redis:6.0.15

//运行镜像 redis-master
docker run --name redis-master -p 6379:6379  -d redis:6.0.15

//运行镜像  redis-slaver
docker run --name redis-slaver -p 6380:6379  -d redis:6.0.15

  • 设置Redis主从(启动单机版Redis可以不做这一步)

//进入redis-master容器
docker exec -it redis-master /bin/bash

//链接redis
redis-cli

//查看redis状态 
info replication


//redis-master 查询结果
# Replication
role:master        //当前redis是主节点
connected_slaves:0    //自己下面有0个子节点
master_replid:88935387dfc7d6ae915ae14b809439b0fc195044
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0


//redis-slaver 查询结果
# Replication
role:master        //当前redis是主节点
connected_slaves:0    //自己下面有0个子节点
master_replid:88935387dfc7d6ae915ae14b809439b0fc195044
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
  • 发现redis-master 和 redis-slaver  都是主节点,接下来设置redsi-slaver为从节点
       

//进入redis-slaver 容器内部
docker exec -it redis-slaver /bin/bash

//链接redis
redis-cli

//设置主节点的端口和IP
slaveof 82.159.190.100 6379

//再进入reids-mster 内查看,发现当前已经有了一个子节点 
127.0.0.1:6379> INFO replication
# Replication
role:master            //当前 是 master
connected_slaves:1  //一个子节点
slave0:ip=82.156.190.100,port=6379,state=online,offset=140,lag=0
master_replid:ce704c63df0857208b616e60d186e14890141ef3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:140
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:140

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/277787.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号