mac上通过docker创建单实例redis

1、拉取Redis镜像
docker pull redis:7
docker tag redis:7 redis7
docker rmi redis:7
2、创建宿主机mac和容器的共享目录
# 创建redis数据存储目录在宿主机mac上的映射目录
mkdir -p /Users/SH-Server/docker-sync-data/redis/data/logs
# 创建日志文件
touch /Users/SH-Server/docker-sync-data/redis/data/logs/notice.log
3、编辑redis.conf
# 创建redis.conf 在宿主机mac上的映射文件
cd /Users/SH-Server/docker-sync-data/redis
vi redis.conf

# 密码
requirepass 123456789

# 设置日志级别
loglevel notice

# 日志地址
logfile /data/logs/notice.log

# 设置允许所有ip来连接
bind 0.0.0.0

# 设置端口号
port 6379

# 数据库数量
databases 20

# 设置最大内存
maxmemory 8G

# 当达到最大内存时,采用的清除策略
maxmemory-policy volatile-lru

# 检测客户端健康状态 300秒
tcp-keepalive 300

# 是否以守护进程方式启动,不
daemonize no

# 持久化文件保存路径
dir /data

# rdb数据持久化触发条件:300 秒内如果至少有 10 个 key 的值变化,则进行持久化
save 300 10

# rdb快照文件名
dbfilename dump.rdb

# 开启aof数据持久化
appendonly  yes

# aof数据持久化文件名称
appendfilename appendonly.aof

# aof数据持久化策略,每秒
appendfsync everysec

#加载由于某些原因导致的末尾异常的AOF文件(主进程被kill/断电等)
aof-load-truncated yes

# 开启RDB-AOF混合持久化格式
aof-use-rdb-preamble yes 

# 当Aof log增长超过指定百分比例时,重写AOF文件
auto-aof-rewrite-percentage 100
4、创建容器
 docker run -itd --name redis7.0 -p 6379:6379 -v /Users/SH-Server/docker-sync-data/redis/redis.conf:/etc/redis/redis.conf -v /Users/SH-Server/docker-sync-data/redis/data:/data redis7 redis-server /etc/redis/redis.conf

这里创建容器时,进行了宿主机mac和redis容器内部的文件及目录映射。