it编程 > 数据库 > Redis

使用Docker部署Redis并配置持久化与密码保护的详细步骤

1人参与 2025-03-10 Redis

1. 准备工作

1.1 安装 docker

确保已安装 docker。如果未安装,请参考以下命令:

ubuntu/debian:

sudo apt-get update
sudo apt-get install docker.io

centos/fedora:

sudo yum install docker

macos/windows:
下载并安装 docker desktop

安装完成后,启动 docker 服务:

sudo systemctl start docker
sudo systemctl enable docker

2. 创建 redis 目录和配置文件

2.1 创建目录

在 /home/middleware/redis 下创建 data 目录用于存放 redis 数据,并创建 redis.conf 配置文件:

mkdir -p /home/middleware/redis/data
touch /home/middleware/redis/redis.conf

2.2 编辑配置文件

编辑 redis.conf 文件,添加以下内容:

bind 0.0.0.0
port 6379
dir /data
dbfilename dump.rdb
# 设置 redis 密码
requirepass yourpassword  

# rdb 持久化配置

# 900 秒(15 分钟)内至少有 1 个键被修改时触发保存
save 900 1     

# 300 秒(5 分钟)内至少有 10 个键被修改时触发保存
save 300 10    

# 60 秒(1 分钟)内至少有 10000 个键被修改时触发保存
save 60 10000  

2.3 save 指令详解

save 指令用于配置 redis 的 rdb 持久化策略。它的语法如下:

save <seconds> <changes>

示例解释

在配置文件中:

save 900 1
save 300 10
save 60 10000
  1. save 900 1

    • 如果 900 秒(15 分钟) 内,至少有 1 个键 被修改,则触发保存。
  2. save 300 10

    • 如果 300 秒(5 分钟) 内,至少有 10 个键 被修改,则触发保存。
  3. save 60 10000

    • 如果 60 秒(1 分钟) 内,至少有 10000 个键 被修改,则触发保存。

为什么需要多个 save 规则?

多个 save 规则可以平衡 数据安全性 和 性能

通过组合多个规则,redis 可以在不同场景下灵活地触发数据保存。

3. 使用 docker 运行 redis

3.1 拉取 redis 镜像

从 docker hub 拉取 redis 官方镜像:

docker pull redis

3.2 启动 redis 容器

运行以下命令启动 redis 容器,并挂载配置文件和数据目录:

docker run --name redis -d \
  -p 6379:6379 \
  -v /home/middleware/redis/data:/data \
  -v /home/middleware/redis/redis.conf:/usr/local/etc/redis/redis.conf \
  redis redis-server /usr/local/etc/redis/redis.conf

4. 验证 redis 部署

4.1 检查容器状态

运行以下命令,查看容器是否正常运行:

docker ps

4.2 连接 redis

使用 redis-cli 连接 redis,并验证密码:

docker exec -it redis redis-cli

在 redis cli 中执行以下命令进行认证:

auth yourpassword

认证成功后,可以执行 redis 命令,例如:

set mykey "hello, redis!"
get mykey

4.3 验证数据持久化

停止并重新启动 redis 容器:

docker stop redis
docker start redis

再次连接 redis,检查数据是否仍然存在:

docker exec -it redis redis-cli
auth yourpassword
get mykey

5. 使用 docker compose(可选)

如果你更喜欢使用 docker compose 管理 redis 容器,可以创建 docker-compose.yml 文件:

version: '3'
services:
  redis:
    image: redis
    container_name: redis
    ports:
      - "6379:6379"
    volumes:
      - /home/middleware/redis/data:/data
      - /home/middleware/redis/redis.conf:/usr/local/etc/redis/redis.conf
    command: redis-server /usr/local/etc/redis/redis.conf

然后运行以下命令启动服务:

docker-compose up -d

停止服务:

docker-compose down

6. 目录结构

最终的 /home/middleware/redis 目录结构如下:

/home/middleware/redis/
├── data/             # redis 持久化数据目录
│   └── dump.rdb      # redis 数据文件
└── redis.conf        # redis 配置文件

7. 总结

通过以上步骤,你已经成功使用 docker 部署了 redis,并通过 redis.conf 配置文件实现了数据持久化和密码保护。本文还详细解释了 save 指令的作用和配置方法,帮助你根据业务需求灵活调整持久化策略。

以上就是使用docker部署redis并配置持久化与密码保护的详细步骤的详细内容,更多关于docker部署redis持久化与密码保护的资料请关注代码网其它相关文章!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Redis 内存淘汰策略深度解析(最新推荐)

03-10

Redis 的过期策略与键的过期时间设置方法

03-10

Redis实现RBAC权限管理

03-10

Redis客户端工具之RedisInsight的下载方式

03-10

基于Redis实现共享Session登录的实现

03-06

redis lettuce连接池经常出现连接拒绝(Connection refused)问题解决

03-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论