基于docker运行redis服务

docker运行redis

在 Docker 中运行 Redis 非常简单。Redis 是一个开源的内存数据结构存储,常用于缓存、消息队列和数据库。以下是使用 Docker 运行 Redis 的详细步骤:

1. 拉取 Redis 镜像

首先,从 Docker Hub 拉取 Redis 官方镜像。

docker pull redis
  • 默认情况下,会拉取最新版本(redis:latest)。
  • 如果需要特定版本,可以指定标签,例如:
docker pull redis:6.2
2. 运行 Redis 容器

使用 docker run 命令启动 Redis 容器。

基本命令:
docker run -d --name my-redis -p 6379:6379 redis
  • -d:以后台模式(detached)运行容器。
  • --name my-redis:为容器指定一个名称(my-redis)。
  • -p 6379:6379:将宿主机的 6379 端口映射到容器的 6379 端口(Redis 默认端口)。
  • redis:使用的镜像名称。

3. 验证 Redis 是否运行
查看容器状态:
docker ps

输出示例:

CONTAINER ID   IMAGE   COMMANDER   CREATED         STATUS         PORTS                    NAMES
abc123def456   redis   "docker-entrypoint.s…"   10 seconds ago   Up 9 seconds   0.0.0.0:6379->6379/tcp   my-redis
连接到 Redis 容器:

可以使用 Redis 客户端(如 redis-cli)连接到容器。

  1. 进入容器:
docker exec -it my-redis redis-cli
  1. 测试 Redis 连接:
ping

如果 Redis 正常运行,会返回 PONG

  1. 执行 Redis 命令:
set mykey "Hello Redis"
get mykey
4. 持久化数据

默认情况下,Redis 数据存储在内存中,容器停止后数据会丢失。如果需要持久化数据,可以将 Redis 的数据目录挂载到宿主机。

挂载数据卷:
docker run -d --name my-redis \
  -p 6379:6379 \
  -v /path/on/host:/data \
  redis
  • -v /path/on/host:/data:将宿主机的 /path/on/host 目录挂载到容器内的 /data 目录(Redis 默认数据存储位置)。
启用持久化:

Redis 支持两种持久化方式:

  • RDB(快照):定期将数据保存到磁盘。
  • AOF(追加文件):记录所有写操作。

可以通过配置文件或命令行参数启用持久化。例如:

docker run -d --name my-redis \
  -p 6379:6379 \
  -v /path/on/host:/data \
  redis redis-server --appendonly yes
5. 使用自定义配置文件

如果需要使用自定义的 Redis 配置文件,可以将配置文件挂载到容器中。

  1. 在宿主机上创建配置文件,例如 redis.conf
  2. 运行容器并挂载配置文件:
docker run -d --name my-redis \
  -p 6379:6379 \
  -v /path/on/host/redis.conf:/usr/local/etc/redis/redis.conf \
  redis redis-server /usr/local/etc/redis/redis.conf
6. 设置密码

为了增强安全性,可以为 Redis 设置密码。

通过命令行参数设置密码:
docker run -d --name my-redis \
  -p 6379:6379 \
  redis redis-server --requirepass mypassword
通过配置文件设置密码:

redis.conf 中添加:

requirepass mypassword
连接时需要验证密码:
docker exec -it my-redis redis-cli
auth mypassword
7. 停止和删除容器
停止容器:
docker stop my-redis
删除容器:
docker rm my-redis
删除容器并删除数据卷:
docker rm -v my-redis
8. 总结
  • 使用 docker run 命令可以快速启动 Redis 容器。
  • 通过挂载数据卷和配置文件,可以实现数据持久化和自定义配置。
  • 设置密码可以增强 Redis 的安全性。