Docker 部署 Redis

获取镜像
# 拉取镜像
[root@VM-24-9-centos ~]# docker pull redis:7.2
创建挂载目录并复制相关文件
# 创建挂载目录和配置文件
[root@VM-0-17-centos conf]# mkdir -p /data/redis/{conf,data,logs}
[root@VM-0-17-centos conf]# cd /data/redis/conf
[root@VM-0-17-centos conf]# wget https://raw.githubusercontent.com/redis/redis/7.2/redis.conf
[root@VM-0-17-centos conf]# chmod 777 redis.conf
[root@VM-0-17-centos conf]# vim redis.conf

官方的配置文件很全很多,可直接清空(vim命令下执行 :%d可清空文件)该配置文件然后复制以下内容:

# Redis configuration file example

# 服务器相关配置
# 启用保护模式,增加安全,性默认yes,如果设置为yes,则只允许在本机的回环连接,其他机器无法连接。
protected-mode no
# 守护进程,默认no为不守护进程模式,docker部署不需要改为yes,docker run -d本身就是后台启动,不然会冲突
daemonize no
# 设置密码
requirepass 123456

# 日志配置
# 日志级别
loglevel notice
# 日志文件位置
logfile /logs/redis.log

# RDB 和 AOF 混合持久化配置
# 开启混合持久化
aof-use-rdb-preamble yes 

# 持久化配置
# 持久化文件存放路径
dir /data

# RDB 持久化配置
# 如果至少有1个 key 变化了,那么在900秒之后执行一次 dump 操作
save 900 1
# 如果至少有10个 key 变化了,那么在300秒之后执行一次 dump 操作
save 300 10
# 如果至少有10000个 key 变化了,那么在60秒之后执行一次 dump 操作
save 60 10000
# 是否使用压缩
rdbcompression yes
# 数据存储校验
rdbchecksum yes
# 本地数据库文件名
dbfilename dump.rdb

# AOF 持久化配置
# 开启 AOF 持久化
appendonly yes
# AOF 文件名
appendfilename "appendonly.aof"
# 每秒执行一次 fsync
appendfsync everysec
# 当 AOF 重写时,暂停 fsync
no-appendfsync-on-rewrite yes
# AOF 文件增长率达到 100% 时,自动触发 AOF 重写
auto-aof-rewrite-percentage 100
# AOF 文件大小至少为 64mb 时,自动触发 AOF 重写
auto-aof-rewrite-min-size 64mb

# 其他配置
# 最大内存限制
maxmemory 2gb
# 内存达到上限时的策略
maxmemory-policy noeviction

各个版本的配置文件官方地址

创建容器
# 创建容器
docker run -d --privileged=true \
-p 6379 :6379 \
-v /data/redis/logs:/logs \
-v /data/redis/data:/data \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
--name redis redis:7.2 redis-server /etc/redis/redis.conf

--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-v /data/redis/logs:/logs:映射日志文件
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件
-v /docker/redis/data:/data:映射数据目录
redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程
posted @ 2024-05-08 16:01  Aminor~  阅读(27)  评论(0编辑  收藏  举报