前言
使用docker做自动化部署篇——安装Redis。
我的服务器环境以及Docker环境有之前的帖子Docker安装中介绍过,这一篇就不做过多说明了。
这一篇主要记录我使用Docker安装Redis的过程的图文,和一些注意事项。
1. 查看可用的 Redis 版本
访问 Redis 镜像库地址: https://hub.docker.com/_/redis?tab=tags。(需要梯子)
2. 拉取Redis镜像
docker pull redis:7.4.1
如图:正常拉取成功
3. 查看本地镜像
docker images
如图:查看拉取的镜像信息,redis:7.4.1版本已经在本地镜像中了
4. 创建Redis的挂载文件夹
mkdir -p /d/redis/conf /d/redis/data
(我所有Docker的挂载目录都放在/d
里面方便后期维护、管理,这里的d是模仿windows的D盘,根据个人习惯来)
5. 配置Redis的配置文件redis.conf
- 通过官网地址找到对应版本的配置文件(这里我使用的是7.4版本)
将redis.conf
放在目录/d/redis/conf
里面
vim /d/redis/conf/redis.conf
按i
进入输入模式,粘贴代码后,按esc
之后在输入:wq
保存退出(有些默认配置可能需要修改,可以先修改之后在保存)
(由于redis.conf文件里的内容过大,这里就不粘贴出来了,如果是新手,实在是看不懂的,可以留言我发给你 redis.conf 文件)
配置redis.conf文件修改说明
- 将
bind 127.0.0.1 ::1
注释掉/删除,方便远程连接 - 修改
protected-mode yes
改为protected-mode no
,或者注释掉/删除,方便远程连接 - 修改
appendonly no
改为appendonly yes
开启持久化(不需要可忽略) - 修改密码
requirepass 123456
123456
是你的密码,因为开启了远程连接,为了安全,这里推荐配置密码(也可用不配置,直接启动容器时再指定密码)
6. 运行Redis容器
docker run -p 6379:6379 --name redis --restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-v /d/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /d/redis/data:/data \
-d redis:7.4.1 redis-server /etc/redis/redis.conf \
--appendonly yes --requirepass 123456
命令分解与功能描述
-
docker run
启动一个新的 Docker 容器的命令。 -
-p 6379:6379
将主机的端口6379
映射到容器内部的 Redis 默认端口6379
。 -
--name redis
为容器命名为redis
,便于后续管理。 -
--restart=always
设置容器的自动重启策略:无论因何停止(包括系统重启),容器都会自动重启。 -
--log-opt max-size=100m
限制容器单个日志文件的大小为100MB
,当日志文件达到100MB
时,会触发日志轮换。 -
--log-opt max-file=2
设置最多保留 2 个日志文件:避免占用过多磁盘空间。 -
-v /d/redis/redis.conf:/etc/redis/redis.conf
挂载主机的 Redis 配置文件到容器。 -
-v /d/redis/data:/data
将主机目录/d/redis/data
挂载到容器的 /data 路径。 -
-d redis:7.4.1
以后台模式运行 Redis 容器:-d
:容器以守护进程方式运行,不占用当前终端。redis:7.4.1
:使用官方 Redis 镜像。
-
redis-server /etc/redis/redis.conf
启动 Redis 服务,指定加载/etc/redis/redis.conf
配置文件:让 Redis 使用挂载的自定义配置文件 -
--appendonly yes
(不需要持久化的可以删除)
启用 Redis 的 AOF(Append-Only File)持久化模式:记录每次写操作到日志文件中,提升数据可靠性。 -
--requirepass 123456
(redis.conf文件中配置过的可以选择删除)
设置 Redis 访问密码为123456
7. 查看运行的容器
docker ps -a
如图正常运行
8. 远程连接测试
(这里可能连接失败,可能出现redis是正常启动的但是连接不上的问题,是没有关闭防火墙,我在上一篇MySQL的安装中有解决方案,这里就不再重复了)
结语
安装Redis就到此结束了,如果有疑问或错误,欢迎大家留言。