Mac M系列芯片(M1/M2)Docker安装Redis并配置Redis持久化

Docker安装Redis

安装

拉取镜像(以Redis6.2.12为例)

docker pull redis:6.2.12

查看已拉取到本地的镜像

docker image ls

 运行镜像(开启容器)

docker run --name redis_container_name -d redis:6.2.12

测试

进入容器

docker exec -ti redis_container_name bash

 

配置Redis持久化

场景

使用Docker拉取的Redis,从docker中启动redis容器,默认是没有配置文件的

持久化

  • RDB:按照一定的时间间隔定时以快照的形式保存,也可主动触发
  • AOF:以记录日志的方式进行保存
  • Redis持久化方式,目前有RDB和AOF,默认的是RDB,具体每种的保存/实现/触发机制,以及优缺点,自行百度。

准备

  1. 去官网下载Reids中redis.conf的配置文件,总之想办法找一份redis.conf的配置文件
  2. 创建文件夹/Users/leo/docker/redis和/Users/leo/docker/redis/data用来存放数据(可以是其他位置,/Users/leo笔者Mac上的用户目录,等价于~目录,读者自行调整目录)
  3. 将redis.conf放到/Users/leo/docker/redis目录下

配置文件修改

注释掉bind,不然只能安装Redis本机访问

#bind 127.0.0.1

开启AOF持久化

appendonly yes

写入机制

#每次有修改就立刻写入
# appendfsync always
#每秒钟写入一次(推荐该方式)
appendfsync everysec
#让Redis自动判断
# appendfsync no

保存文件的名字,默认即可

appendfilename "appendonly.aof"

保存数据的位置

#当前目录,可选择其他目录
dir ./

配置连接密码

requirepass pwd123456

运行容器

docker run --restart=always -p 6379:6379 --name redis \
> -v /Users/leo/docker/redis/redis.conf:/etc/redis/redis.conf \
> -v /Users/leo/docker/redis/data:/data \  
> -d redis:6.2.12 \
> redis-server /etc/redis/redis.conf --appendonly yes

参数说明:

  • docker run:运行Docker镜像
  • –restart=always:当docker重启时,该容器也会重新启动
  • -p:映射端口号,宿主机端口映射到容器内部端口
  • –appendonly yes:持久化
  • –name redis:设置容器名称为redis
  • -v /Users/leo/docker/redis/redis.conf:/etc/redis/redis.conf:将宿主机中redis.conf文件映射到docker中
  • -v /Users/leo/docker/redis/data:/data:将容器的/data目录挂载到宿主机的/Users/leo/docker/redis/data目录(数据持久化)
  • -d redis:6.2.12:选择运行的Docker镜像并指定Tag(不指定的话默认是latest)
  • redis-server /etc/redis/redis.conf:以加载配置文件方式启动

测试

运行过之后,重启Redis服务,将会在/Users/leo/docker/redis/data文件夹中生成保存的文件

 参考文章

1. Docker配置Redis持久化

2. DockerHub-Redis

猜你喜欢

转载自blog.csdn.net/Tan_LC/article/details/130637670