在项目开发中使用 docker 管理服务器非常方便,同时 docker 的下载安装本身也非常简单易操作。接下来讲解如何通过 docker 下载安装 MySQL 与 Redis。如果还没有下载 docker 的同学可以参考我的另一篇博文 https://blog.csdn.net/m0_59705760/article/details/124598819
首先让 docker 从官方镜像仓库中下载 MySQL 5.7 版本的镜像文件,执行如下命令:
docker pull mysql:5.7
接着执行如下命令创建实例并启动 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
命令中的 docker run 表示创建一个实例。
-p 3306:3306 表示将容器的 3306 端口映射到主机的3306 端口。
-v /mydata/mysql/conf:/etc/mysql 表示将配置文件夹/etc/mysql 挂载到主机 /mydata/mysql/conf 文件夹上,方便我们管理 MySQL 的配置文件。
-v /mydata/mysql/log:/var/log/mysql 表示将日志文件夹挂载到主机。
-v /mydata/mysql/data:/var/lib/mysql/ 表示将配置文件夹挂载到主机。
-e MYSQL_ROOT_PASSWORD=root 表示初始化 root 用户的密码为 root。
接着修改 MySQL 的配置文件,进入 /mydata/mysql/conf 文件夹下执行如下命令:
vi my.conf
接着按 i 进行插入操作,将下列配置内容直接粘进去即可。
[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,执行如下命令进行重启:
docker restart mysql
重启后可以通过本机的数据库连接工具进行连接。
首先通过 docker 下载 redis 的镜像文件,如下命令所示,若不指定 tags 则默认下载 latest 即最新版的 redis。
docker pull redis
下载完成后通过命令行创建实例并启动 redis,由于在指定挂载文件时默认路径最后为文件夹而不是文件,故需要先在本地创建相对应文件,这里是一个坑。命令如下:
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.confdocker 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 实例后,通过命令行使用 redis 镜像执行 redis-cli 命令进行连接 redis:
docker exec -it redis redis-cli
也可以通过下载 redis desktop manager 图形化工具来管理 redis,具体下载请到官网进行下载,安装步骤简单。