使用 docker 安装并部署 redis

本文介绍了如何使用 Docker 安装 Redis,并详细讲述了下载 Redis 配置文件,修改配置,以及通过 Docker 启动容器的过程。在 Docker 容器中,通过特定指令检查 Redis 是否成功运行及使用指定配置文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 安装 redis
docker pull redis

安装后可以执行 docker images 指令查看是否安装成功。

truedei@truedei:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
redis               latest              987b78fc9e38        10 days ago         104MB
httpd               latest              a8a9cbaadb0c        2 weeks ago         166MB
fjudith/draw.io     latest              7b136fc80d31        3 weeks ago         683MB
mysql               5.7.29              f5829c0eee9e        5 weeks ago         455MB
  1. 准备 redis 配置文件

因为需要 redis 的配置文件,这里最好还是去redis的官方去下载一个 redis 使用里面的配置文件即可。

redis中文官方网站

下载稳定版:
请添加图片描述

下载完成后,解压出来,其中的 redis.conf 就是我们需要的。
请添加图片描述
打开这个配置文件,将其中的部分配置做一些更改(仅展示更改后的):

# bind 127.0.0.1
# 注释掉这部分,使 redis 可以外部访问

daemonize no
# 不使用守护线程的方式启动,据说 docker 中会报错

requirepass 你的密码
# 给 redis 设置密码(必须!否则很容易被黑)

protected-mode yes
# 开启保护模式,在此模式下需配置bind ip或者设置访问密码

appendonly yes
# 开启 redis 持久化
  1. 放置 redis.conf

任意选择一个合适的目录存放 redis.conf ,这里我选择在 root 目录下建立一个 redis 文件夹,里面放这个配置文件。

这里我使用的可视化工具 WinSCP 操作,大家可以自行下载。

注意:要清楚 redis.conf 文件放到那个文件夹了

  1. 启动 docker 容器

控制台中执行以下指令:

docker run -p 6379:6379 --name redis -v /redis/redis.conf:/etc/redis/redis.conf  -v /redis:/data -d redis redis-server /etc/redis/redis.conf

参数解析:

-p 6379:6379
把容器内的 6379 端口映射到宿主机 6379 端口

--name redis
给容器命名,这里就叫做 redis

-v /redis/redis.conf:/etc/redis/redis.conf
把宿主机放置好的 redis.conf 挂载到容器内的这个位置中,这样docker 容器中就可以拿到 redis.conf 这个配置文件了

-v /redis/data:/data
把 redis 持久化的数据挂载到宿主机,做数据备份

redis-server /etc/redis/redis.conf
这个是关键配置,让 redis 以我们的 redis.conf 配置文件启动
  1. 检查是否正确安装和运行
  • 查看是否启动成功

    docker ps

    [root@xxx blog_api]# docker ps
    CONTAINER ID   IMAGE                                              COMMAND                  CREATED             STATUS             PORTS                                                                        NAMES
    76b3af6bdfa7   redis                                              "docker-entrypoint.s…"   About an hour ago   Up About an hour   0.0.0.0:6379->6379/tcp                                                       redis
    
  • 查看 redis 容器日志

    docker logs redis redis 为容器名称

    [root@xxx data]# docker logs redis
    1:C 27 Jul 2021 00:44:17.350 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    1:C 27 Jul 2021 00:44:17.350 # Redis version=6.2.5, bits=64, commit=00000000, modified=0, pid=1, just started
    1:C 27 Jul 2021 00:44:17.350 # Configuration loaded
    1:M 27 Jul 2021 00:44:17.350 * monotonic clock: POSIX clock_gettime
                    _._
               _.-``__ ''-._
          _.-``    `.  `_.  ''-._           Redis 6.2.5 (00000000/0) 64 bit
      .-`` .-```.  ```\/    _.,_ ''-._
     (    '      ,       .-`  | `,    )     Running in standalone mode
     |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
     |    `-._   `._    /     _.-'    |     PID: 1
      `-._    `-._  `-./  _.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |           https://redis.io
      `-._    `-._`-.__.-'_.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |
      `-._    `-._`-.__.-'_.-'    _.-'
          `-._    `-.__.-'    _.-'
              `-._        _.-'
                  `-.__.-'
    
    1:M 27 Jul 2021 00:44:17.351 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    1:M 27 Jul 2021 00:44:17.351 # Server initialized
    1:M 27 Jul 2021 00:44:17.352 * Ready to accept connections
    
  • 检查是否以 redis.conf 配置文件运行

    docker exec -it redis redis-cli 进入 redis 控制台

    随意做一个操作,比如 set name tom,如果需要认证,则成功以 redis.conf 配置文件运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值