Kubernetes DevOps环境搭建(二):Docker安装Mysql,Redis

前言

本文只是安装单机版的Mysql和Redis,Mysql集群和Redis集群配置暂不进行配置。

一、Docker 安装 Mysql

Runoob 教程文档-Docker安装Mysql镜像 : https://www.runoob.com/docker/docker-install-mysql.html

本文参考了Runoob的安装步骤,结合自己的需要修改了部分的命令,仅供参考

# 查看Mysql可用镜像,可以选择自己想要的版本安装
$ sudo docker search mysql

# 安装Mysql 5.7
$ sudo docker pull mysql:5.7 
# 查看镜像是否已经成功拉取到本地镜像仓库
$ docker images

# 启动容器(绑定端口3306,默认指定密码为:123456)
$ docker run -d -p 3306:3306 --privileged=true \
    -v /docker/mysql/conf/my.cnf:/etc/my.cnf \
    -v /docker/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci


# 上面的运行命令参数说明:
-run run 是运行一个容器
-d  表示后台运行
-p  表示容器内部端口和服务器端口映射关联
--privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql  同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=123456   设置MySQL数据库root用户的密码
--name mysql     设值容器名称为mysql
mysql:5.7  表示从docker镜像mysql:5.7中启动一个容器
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码

创建用户并授权,授权以后就能使用Navicat直接进行连接了

# 进入容器内部
$ docker exec {contanerId}

# 创建新的Mysql用户,并授权,记得换成自己想要的用户名和密码
$ GRANT ALL PRIVILEGES ON *.* TO 'lenjor'@'%' IDENTIFIED BY 'Lenjor123.' WITH GRANT OPTION;
$ flush privileges; 

# 退出容器
$ exit

二、Docker安装Redis

安装Redis的步骤和Mysql步骤基本一致

Runoob 教程文档-安装Redis:https://www.runoob.com/docker/docker-install-redis.html

# 查看可用的redis版本
$ docker search redis
# 拉取最新的redis镜像
$ docker pull redis:latest
# 查看镜像是否已经成功拉取到本地镜像仓库
$ docker images
# 启动redis容器(绑定端口6379)
$ docker run -itd --name my-redis -p 6379:6379 redis

# 测试安装的Redis
$ docker exec -it my-redis /bin/bash