Docker 安装 Redis 并实现数据持久化

作者:有好多问题2024.02.17 18:40浏览量:4

简介:本文将介绍如何使用 Docker 安装 Redis,并通过挂载容器卷和开启持久化来实现数据持久化。

在开始之前,请确保您的系统已经安装了 Docker。接下来,我们将按照以下步骤进行操作:

  1. 拉取 Redis 镜像
    打开终端,并运行以下命令来拉取 Redis 镜像:
  1. docker pull redis

这将从 Docker Hub 上下载最新版本的 Redis 镜像。

  1. 创建 Redis 数据目录
    在宿主机上创建一个目录,用于存储 Redis 数据。您可以使用以下命令创建目录:
  1. mkdir /data/redis
  1. 运行 Redis 容器
    运行以下命令来创建并启动 Redis 容器,并将容器的数据目录挂载到宿主机上的目录:
  1. docker run --name my-redis -d -p 6379:6379 -v /data/redis:/data redis

这将创建一个名为 my-redis 的 Redis 容器,并将其端口映射到宿主机的 6379 端口。容器的数据目录被挂载到宿主机的 /data/redis 目录。

  1. 检查 Redis 是否正在运行
    使用以下命令检查 Redis 容器是否正在运行:
  1. docker ps -a

如果 Redis 容器正在运行,您将看到类似以下的输出:

  1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  2. d6477361591e redis "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:6379->6379/tcp my-redis
  1. 测试 Redis 功能
    使用以下命令进入 Redis 容器:
  1. docker exec -it my-redis redis-cli

这将打开一个 Redis 客户端,您可以在其中执行 Redis 命令。例如,您可以尝试设置一个键值对:

  1. set mykey myvalue

然后,您可以尝试获取该键的值:

  1. get mykey

如果一切正常,您将看到 myvalue 作为输出。这表明 Redis 容器已成功运行,并且您可以通过客户端进行操作。

  1. 数据持久化设置与验证(重要步骤)
    在之前的步骤中,我们已经通过挂载容器的数据目录到宿主机上来实现数据的持久化。但是,为了验证持久化是否正常工作,我们需要执行一些操作来模拟数据的写入和删除,然后重启 Redis 容器来检查数据是否仍然存在。
    首先,执行以下命令来模拟数据的写入和删除:
  1. pastecho /data/redis/dump.rdb > /dev/null
  2. dump | redis-cli -h localhost -p 6379 set mykey
  3. dump | redis-cli -h localhost -p 6379 del mykey

然后,使用以下命令停止并删除 Redis 容器:

  1. docker stop my-redis
  2. docker rm my-redis
  3. dir /data/redis

这将停止并删除 Redis 容器,同时检查宿主机上的数据目录是否存在持久化文件。如果文件存在,则说明数据持久化正常工作。
最后,使用以下命令重新创建并启动 Redis 容器:

  1. docker run --name my-redis -d -p 6379:6379 -v /data/redis:/data redis
  2. docker exec -it my-redis redis-cli
  3. dump | redis-cli -h localhost -p 6379 keys *
  4. dump | redis-cli -h localhost -p 6379 get mykey

这将重新启动 Redis 容器并进入客户端。然后,我们尝试获取之前设置的键值对。如果输出为空或不存在该键,则说明数据持久化正常工作。如果输出为 myvalue,则说明数据持久化可能存在问题。需要进一步检查配置和操作步骤。