• Centos安装docker以及mysql和redis环境


    docker的安装和配置

    官方文档:Install Docker Engine on CentOS | Docker Documentation

    首先su root切换到root用户,就省得每次执行命令都要加上sudo了。

    1. 卸载之前安装的版本(如果之前没有安装可以跳过)

      yum remove docker \
                       docker-client \
                       docker-client-latest \
                       docker-common \
                       docker-latest \
                       docker-latest-logrotate \
                       docker-logrotate \
                       docker-engine
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    2. 设置repository

       yum install -y yum-utils
       
       yum-config-manager \
          --add-repo \
          https://download.docker.com/linux/centos/docker-ce.repo
      
      • 1
      • 2
      • 3
      • 4
      • 5
    3. 安装docker

      yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
      
      • 1
    4. 让docker开机自启

       systemctl enable docker
      
      • 1
    5. 启动docker

       systemctl start docker
      
      • 1
    6. 配置阿里云镜像

      mkdir -p /etc/docker
      
      tee /etc/docker/daemon.json <<-'EOF' 
      { 
      	"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
      }
      EOF
      
      systemctl daemon-reload
      
      systemctl restart docker
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11

      其中的地址可以换成你自己的,登录阿里云控制台后,进入容器镜像服务后选择镜像加速器就可以看到。
      在这里插入图片描述
      到这里docker的安装和配置就完成了。

    mysql的安装和配置

    1. 下载镜像文件

      docker pull mysql:5.7
      
      • 1
    2. 创建实例并启动

      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
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      参数说明
      -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
      -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
      -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
      -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
      -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

      挂载的作用在于:可以直接在当前主机环境对mysql容器中的文件进行更改,如果不挂载的话,就得通过docker exec -i -t mysql /bin/bash进入容器中再修改文件。

    3. 配置mysql

      主要是是修改字符编码为utf-8。

      vi /mydata/mysql/conf/my.cnf
      
      • 1

      内容为:

      [client]
      default-character-set=utf8
      
      [mysql]
      default-character-set=utf8
      
      [mysqld]
      init_connect='SET collation_connection = utf8_unicode_ci'
      init_connect='SET NAMES utf8'
      character-set-server=utf8
      collation-server=utf8_unicode_ci
      skip-character-set-client-handshake
      skip-name-resolve
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

      其中skip-name-resolve用于跳过域名解析。

    redis的安装和配置

    1. 下载镜像文件

      docker pull redis
      
      • 1
    2. 创建redis配置文件

      mkdir -p /mydata/redis/conf
      touch /mydata/redis/conf/redis.conf
      
      • 1
      • 2
    3. 创建实例并启动

      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
      
      • 1
      • 2
      • 3

      -p 6379:6379 端口映射,:前表示主机部分,:后表示容器部分。
      –name redis 指定该容器名称,查看和进行操作都比较方便。
      -v 挂载目录,规则与端口映射相同。
      -d redis 表示后台启动redis
      redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/redis/redis.conf

    4. 配置redis持久化

      默认情况下,redis会将数据保存到内存,一旦重启就会消失,所以这里通过修改我们刚才创建的配置来开启AOF持久化。

      vi	/mydata/redis/conf/redis.conf
      
      • 1

      内容为:

      appendonly yes
      
      • 1
    5. 使用 redis 镜像执行 redis-cli 命令连接

      docker exec -it redis redis-cli
      
      • 1
  • 相关阅读:
    地理标志农产品质量安全风险评估及预警研究
    基于百度AI人脸识别+uniapp+springboot的高校防疫小程序
    【JavaScript】声明变量的关键字let、var、const和val的区别
    Couchdb-权限绕过--命令执行--(CVE-2017-12635)&&(CVE-2017-12636)--H2database命令执行--(CVE-2022-23221)
    黑马程序员spring+springMVC+Maven高级+springboot+MyBatisPlus总结之加载配置文件和容器
    记一次 .NET 某企业采购平台 崩溃分析
    海格里斯HEGERLS托盘搬运机器人四向车引领三维空间集群设备柔性运维
    从源码全面解析 dubbo 服务端服务调用的来龙去脉
    CNN应用:图片分类
    亚远景科技-如何应对汽车软件开发中质量与速度的冲突带来的挑战?
  • 原文地址:https://blog.csdn.net/qq_34626094/article/details/125994967