• Centos7.2 安装docker、mysql和redis


    环境信息

    Docker是什么?

    Docker就是一个平台,这个平台具备开发、发布和运行应用程序的功能,在项目生命周期中,我们可以运用Docker实现快速交付、测试和部署。Docker通过将运行环境打包成一个镜像,就可以在安装了Docker的任意平台上运行(一次构建,到处运行)。

    安装Docker

    1. centos版本推荐7以上,centos6安装docker比较麻烦。如果以前安装过docker,需要先清理:

      sudo yum remove docker 
                        docker-client 
                        docker-client-latest 
                        docker-common 
                        docker-latest 
                        docker-latest-logrotate 
                        docker-logrotate 
                        docker-engine
      
    2. 安装docker需要的工具包

      sudo yum install -y yum-utils
      

      如果提示下图内容:

      这是由于当前系统没有 CentOS-Base.repo 文件,使用命令重新下载一个:

      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      
    3. 添加yum源

      sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
      
    4. 安装docker

      // 中途需要输入y进行确认
      sudo yum install docker-ce docker-ce-cli containerd.io
      
    5. 配置镜像加速地址(阿里云)
      5.1 首先登录阿里云控制台,选择容器镜像服务
      阿里云控制台
      5.2 复制命令并执行
      在这里插入图片描述

    6. 配置docker自启

      systemctl enable docker
      

    安装mysql

    mysql的容器我们可以让docker创建和执行,但是mysql的数据不能仅存在容器内,需要我们开辟一个外部路径专门用来存储mysql数据。

    1. 安装mysql

      docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
       简单讲解一下,
       -p 3306:3306:将容器的3306端口映射到主机的3306端口
       -v 源地址(宿主机):目标地址(容器),将主机的/mydata/mysql/log挂载到mysql容器的/var/log/mysql目录
       -e 指定容器内的环境变量,这里是指定mysql密码为root
       -d 后台运行容器,并返回容器ID
       mysql:5.7 指定mysql版本,具体版本可以在https://hub.docker.com 查询
       
      
    2. 验证mysql是否安装成功

      docker ps
      

      如下,如果显示了mysql就是安装成功了
      在这里插入图片描述

    3. 开启mysql远程访问权限:

      先进入mysql容器
      docker exec -it mysql /bin/bash
      登录mysql,密码就是我们初始化时设置的root
      mysql -uroot -p
      然后开始开启远程访问权限
      use mysql;
      select host,user from user;
      

      在这里插入图片描述
      查看host不是%,需要先更新成%(如果是%跳过,直接进行下面的授权):

      update user set host = '%' where user = 'root';
      

      然后开始授权

      // 此句会开启root的远程访问权限,实际根据场景应该开一个权限小的账号
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
      // 刷新权限
      flush privileges;
      
    4. 上面对mysql本身开启了远程访问权限,下面需要配置防火墙,阿里云还需要在控制台配置安全组开放3306端口。

      # 如果firewalld 没有开启,先开启下
      service firewalld start
      #开放3306端口
      firewall-cmd --permanent --add-port=3306/tcp;
      #重启防火墙(修改配置后要重启防火墙)
      firewall-cmd --reload
      

      最后配置mysql自启:

      docker update --restart=always mysql
      

      此时使用navicat 可以访问MySQL了

    安装redis

    1. 首先创建redis数据存放目录和配置文件

      mkdir -p /mydata/redis/conf
      touch /mydata/redis/conf/redis.conf
      // 编辑配置文件,开启持久化
      vi /mydata/redis/conf/redis.conf
      // 配置文件中加入下面的命令
      appendonly yes
      
    2. 安装redis

      docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --requirepass "123456"
      
       简单讲解一下,
       -p 6379:6379:将容器的6379端口映射到主机的6379端口
       -v /mydata/redis/data:/data,将主机的/mydata/redis/data挂载到redis容器的/data目录
       -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf,将主机的redis.conf文件替换容器的redis.conf文件,这样我们可以在主机上对redis进行配置
      redis-server /etc/redis/redis.conf,通过redis.conf运行redis
      --requirepass "123456",设置密码为123456
      

      添加防火墙规则开启redis远程访问(阿里云还需要配置安全组开放6379端口):

      #开放6379端口
      firewall-cmd --permanent --add-port=6379/tcp;
      #重启防火墙(修改配置后要重启防火墙)
      firewall-cmd --reload
      

      配置redis自启:

      docker update --restart=always redis
      
  • 相关阅读:
    linux安装kafka教程
    linux 系统java相关部署
    redies学习总结
    Sentinel自定义异常降级-新旧版本差异
    Android Bitmap压缩详解
    Head First之策略模式
    go测试
    go获取命令行参数
    JVM-垃圾收集算法基础
    Java代理模式
  • 原文地址:https://www.cnblogs.com/winkin/p/14083574.html
Copyright © 2020-2023  润新知