跳至主要內容

Docker 安装 Redis

bsfc.tech大约 4 分钟DockerRedis

Docker中安装Redis

您可以遵循以下简明步骤:

  1. 拉取Redis镜像: 首先,您需要从Docker Hub获取Redis镜像。可以选择特定版本或使用latest标签来获取最新的稳定版本。在终端中运行以下命令:

    docker pull redis:latest
    

    如果您希望安装特定版本,例如6.2.6,可以替换命令为:

    docker pull redis:6.2.6
    
  2. 创建数据持久化目录: 为了确保Redis容器中的数据能够在容器重启后仍然存在,您需要在宿主机上创建一个目录,并将其映射到容器内的数据目录。例如:

    mkdir -p /mydata/redis/data
    
  3. (可选)配置文件: 如果您需要自定义Redis的配置,可以从Redis官网下载redis.conf文件,并进行相应的修改。然后,在宿主机上创建一个目录存放配置文件,并将其映射到容器中。

    mkdir -p /mydata/redis/conf
    # 下载配置文件(如果需要自定义)
    wget https://raw.githubusercontent.com/antirez/redis/6.2/redis.conf -O /mydata/redis/conf/redis.conf
    
  4. 启动Redis容器: 使用以下命令启动Redis容器,确保将数据目录和(如果有的话)配置文件映射到容器内。

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

    这个命令做了以下几件事:

    • -d 表示以后台模式运行容器。
    • --name myredis 给容器命名,便于后续管理。
    • -p 6379:6379 映射容器的6379端口到宿主机的相同端口,以便外部访问。
    • -v 参数用于数据卷挂载,分别挂载数据目录和配置文件。
    • 最后的 redis redis-server /usr/local/etc/redis/redis.conf 指定了容器启动时执行的命令,使用提供的配置文件启动Redis服务。
  5. 验证Redis服务: 您可以通过Docker exec命令进入容器或直接使用Redis客户端工具(如redis-cli)来验证Redis服务是否正常运行。

    通过Docker进入容器并使用Redis CLI:

    docker exec -it myredis redis-cli
    

    在客户端中输入 ping,如果Redis服务正常,它会响应 PONG

至此,您已成功在Docker中安装并配置了Redis。

要设置密码、开启AOF和RDB持久化

您需要通过修改Redis的配置文件(通常是redis.conf)来实现。以下是具体步骤:

修改配置文件

  1. 设置密码: 在redis.conf文件中找到或者添加以下行来设置Redis的访问密码:

    requirepass your_strong_password_here
    

    your_strong_password_here替换为您的实际密码。

  2. 开启RDB持久化: Redis默认已经开启了RDB持久化,并且有一些预设的保存策略(如save 900 1)。您可以在配置文件中调整这些策略,或者添加新的规则来控制何时进行RDB快照。例如:

    save 60 1     # 如果在60秒内有至少1个键被更改,则保存
    save 300 10  # 如果在300秒内有至少10个键被更改,则保存
    

    也可以手动触发RDB保存通过发送BGSAVE命令。

  3. 开启AOF持久化: 要开启AOF持久化,找到并取消注释或设置以下行:

    appendonly yes
    

    还可以根据需求调整AOF的写入策略,比如:

    appendfsync everysec  # 每秒同步一次到磁盘,性能和安全性平衡
    # 或者
    # appendfsync always  # 每次写操作都同步到磁盘,最安全但可能影响性能
    

应用配置到Docker容器

如果您已经在上一步骤中创建了包含上述修改的redis.conf文件,并且在宿主机的某个路径下(如/mydata/redis/conf/redis.conf),那么在启动Docker容器时,确保映射这个配置文件到容器内,如之前的命令所示:

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

这样,容器中的Redis实例就会按照您修改后的配置文件来运行,包括密码保护、RDB和AOF持久化设置。

记得在进行任何配置更改后,如果Redis服务已经运行,需要重启容器以应用新配置。


以上是本篇文章的全部内容,如对你有帮助帮忙点赞 + 转发 + 收藏。