zoukankan      html  css  js  c++  java
  • 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
      
  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/winkin/p/14083574.html
Copyright © 2011-2022 走看看