05 docker安装redis

66 阅读3分钟

1 使用 Docker 拉取 Redis 镜像

Redis 的官方镜像托管在 Docker Hub 上,可以直接拉取最新版:

docker pull redis

如果你想拉取特定版本(比如 6.2),可以运行:

docker pull redis:6.2

推荐使用官方镜像,如 redis:latest或 redis:7(根据需求选择版本)。


2 运行 Redis 容器

2.1 基本运行方式(不持久化数据)

docker run -d --name my-redis -p 6379:6379 redis

​参数说明:​​

  • -d:后台运行容器(detached 模式)
  • --name my-redis:给容器起一个名字,这里是 my-redis
  • -p 6379:6379:将容器的 6379 端口映射到主机的 6379 端口
  • redis:使用的镜像名称(默认是 latest 版本)

此时 Redis 已经在运行,并且可以通过 localhost:6379访问。


2.2 启用数据持久化(推荐)

为了防止 Redis 数据丢失,通常我们会挂载一个本地目录作为 Redis 的数据存储目录。

docker run -d \
  --name my-redis \
  -p 6379:6379 \
  -v /path/to/your/redis/data:/data \
  redis \
  redis-server --appendonly yes

​参数解释:​​

  • -v /path/to/your/redis/data:/data:将主机上的一个目录(如 ~/redis-data)挂载到容器内的 /data目录,用于持久化数据。
  • 你可以将 /path/to/your/redis/data替换为你想要的目录,例如:~/redis-data或 /opt/redis/data
  • redis-server --appendonly yes:启动 Redis 时开启 AOF 持久化(将写操作记录到文件,重启后数据可恢复)

📌 如果你不想用 AOF,也可以只做 RDB 快照(默认已有),但建议至少开启 AOF 以更安全地保存数据。

​示例(推荐完整命令):​​

mkdir -p ~/redis-data
docker run -d \
  --name my-redis \
  -p 6379:6379 \
  -v ~/redis-data:/data \
  redis \
  redis-server --appendonly yes

这将在你的用户目录下创建一个 redis-data文件夹用于存储 Redis 数据。


3 测试 Redis 是否运行成功

方法一:使用 redis-cli 连接

如果你本地安装了 Redis 客户端,可以运行:

redis-cli

然后输入:

ping

如果返回 PONG,说明连接成功。

默认情况下,Redis 没有设置密码,生产环境请务必设置密码!


方法二:进入 Redis 容器命令行

你也可以进入 Redis 容器的 shell,然后启动 redis-cli:

docker exec -it my-redis redis-cli

然后输入:

ping

同样应返回 PONG。


4 设置 Redis 密码(可选,推荐)

如果你希望 Redis 设置访问密码,可以在启动时通过配置文件或命令行参数设置。

方法一:通过配置文件挂载(推荐用于生产)

1.​创建自定义 redis.conf 文件​

在你的主机上新建一个 redis 配置文件,比如 ~/redis/redis.conf,内容如下:

bind 0.0.0.0
protected-mode no
requirepass yourpassword
appendonly yes

将 yourpassword替换为你想设置的密码。

2.​启动容器时挂载该配置文件​

docker run -d \
  --name my-redis \
  -p 6379:6379 \
  -v ~/redis/redis.conf:/usr/local/etc/redis/redis.conf \
  -v ~/redis-data:/data \
  redis \
  redis-server /usr/local/etc/redis/redis.conf --appendonly yes

这样 Redis 就会使用你自定义的配置,包括密码。

3.客户端连接时需要密码​

使用 redis-cli 连接后,执行命令前需先认证:

AUTH yourpassword

或者:

redis-cli -a yourpassword

注意:-a参数在某些版本中可能不够安全,建议在脚本中避免明文密码。