Docker 安装 MySQL 和 Redis

Docker 是什么?

虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
在这里插入图片描述

Docker 镜像仓库:https://hub.docker.com/

参考文档:https://docs.docker.com/engine/install/centos/

卸载旧版本 docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装依赖

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装 docker,一路确认就行了

sudo yum install docker-ce docker-ce-cli containerd.io

启动 docker

sudo systemctl start docker

检查 docker 下载了哪些镜像

sudo docker images

设置 docker 开机自启

sudo systemctl enable docker

配置镜像加速,来到阿里云控制台容器镜像服务
在这里插入图片描述

Docker 安装 MySQL

拉取镜像

sudo docker pull mysql:5.7

创建实例并启动

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/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql:将数据文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7:-d 表示以后台方式运行,mysql 5.7是启动的容器

图示说明:
在这里插入图片描述

每次 sudo 太麻烦,直接切换到 root 用户,密码是 vagrant

su do

执行上面的代码,出现这个参数说明容器启动起来了

2d8e96c6d32d283d05d9ceb936a7c0eb71ad576a6e632bff5e317f3210597e65

查看 docker 正在运行中的容器

docker ps

打开客户端连接工具测试连接成功
在这里插入图片描述

每个容器都是互相隔离的,我们刚刚启动的 mysql 就相当于一个完整的 LInux 环境

可以进入到 mysql 容器内部

docker exec -it mysql /bin/bash

以 root 用户访问到了 mysql 容器内部
在这里插入图片描述
列举以下目录结构,发现就是一个完整的 Linux 目录结构
在这里插入图片描述
查看 mysql 安装在了哪里
在这里插入图片描述
exit; 退出 mysql 容器,切换到 mysql 配置文件目录
在这里插入图片描述
进入到 my.cnf 添加下面的配置文件
在这里插入图片描述

[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

然后重启 mysql
在这里插入图片描述
可以检查以下 mysql 容器内部是否生成了配置文件
在这里插入图片描述
至此,mysql 配置文件修改结束

Docker 安装 Redis

拉取 redis 镜像

docker pull redis

创建实例并启动

由于容器内 redis 目录下没有 redis.conf 文件,所以提前创建出来然后在挂载到 Linux 上

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

执行命令

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

启动 redis

docker exec -it redis redis-cli

redis 的默认配置是没有持久化的,修改配置文件

vi redis.conf

重启 redis

docker restart redis

为了以后方便看 redis 里面的数据,安装 redis 可视化客户端 Redis Desktop Manager
在这里插入图片描述

redis 官网可以详细查看配置文件内容:https://raw.githubusercontent.com/redis/redis/6.0/redis.conf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值