*Redis Docker 安装指南
使用 Docker 运行 Redis 是最快捷、最跨平台的安装方式,适合开发、测试和快速部署。
*前置条件
- 已安装 Docker
- Windows 用户需确保 Docker 配置为运行 Linux 容器
*快速启动
*启动 Redis 容器
docker run -d --name redis -p 6379:6379 redis:latest
参数说明:
-d:后台运行--name redis:容器名称-p 6379:6379:将主机的 6379 端口映射到容器的 6379 端口redis:latest:使用最新版本的 Redis 镜像
*使用指定版本
docker run -d --name redis -p 6379:6379 redis:8.0
*连接 Redis
从容器内部连接:
docker exec -it redis redis-cli
从主机连接(如果已安装 redis-cli):
redis-cli -h 127.0.0.1 -p 6379
*使用自定义配置文件
默认情况下,Redis Docker 容器使用内置配置。可以通过以下方式使用自定义配置:
*方式一:通过 docker run 挂载配置
docker run -v /myredis/conf:/usr/local/etc/redis --name myredis redis redis-server /usr/local/etc/redis/redis.conf
其中 /myredis/conf/ 是本地包含 redis.conf 的目录。
*方式二:自定义 Dockerfile
创建 Dockerfile:
FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
构建并运行:
docker build -t myredis .
docker run -d --name myredis -p 6379:6379 myredis
注意:映射的目录需要可写,因为 Redis 可能需要创建额外的配置文件或重写现有配置。
*数据持久化
默认情况下,容器删除后数据会丢失。使用 Docker Volume 持久化数据:
docker run -d --name redis -p 6379:6379 -v redis-data:/data redis:latest
或者挂载本地目录:
docker run -d --name redis -p 6379:6379 -v /host/path/to/data:/data redis:latest
*启用 AOF 持久化
docker run -d --name redis -p 6379:6379 -v redis-data:/data redis:latest redis-server --appendonly yes
*使用密码认证
docker run -d --name redis -p 6379:6379 redis:latest redis-server --requirepass "your_password"
连接时需要认证:
docker exec -it redis redis-cli -a "your_password"
*Docker Compose 配置
创建 docker-compose.yml:
version: '3.8'
services:
redis:
image: redis:8.0
container_name: redis
ports:
- "6379:6379"
volumes:
- redis-data:/data
- ./redis.conf:/usr/local/etc/redis/redis.conf
command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes
restart: unless-stopped
volumes:
redis-data:
启动:
docker-compose up -d
*常用 Docker 命令
# 查看运行中的容器
docker ps
# 查看 Redis 日志
docker logs redis
# 停止容器
docker stop redis
# 启动容器
docker start redis
# 重启容器
docker restart redis
# 删除容器
docker rm redis
# 进入容器 shell
docker exec -it redis /bin/sh
# 查看容器资源使用
docker stats redis
*网络配置
*使用自定义网络
# 创建网络
docker network create redis-net
# 运行 Redis
docker run -d --name redis --network redis-net redis:latest
# 运行应用容器(同一网络内可通过容器名访问)
docker run -d --name myapp --network redis-net myapp-image
在 myapp 容器中,可通过 redis:6379 访问 Redis。
*多实例部署
# 主节点
docker run -d --name redis-master -p 6379:6379 redis:latest
# 副本节点
docker run -d --name redis-replica -p 6380:6379 redis:latest redis-server --replicaof redis-master 6379
注意:如果副本和主节点在同一 Docker 网络中,可以使用容器名作为主机名。
*生产环境注意事项
- 内存限制:使用 Docker 的
--memory选项限制容器内存 - CPU 限制:使用
--cpus选项限制 CPU 使用 - 日志管理:配置日志驱动和轮转策略
- 安全:不要暴露 Redis 端口到公网,使用 Docker 网络隔离
- 监控:集成 Redis 监控工具(如 Redis Insight)
docker run -d --name redis -p 127.0.0.1:6379:6379 --memory=2g --cpus=2 -v redis-data:/data --restart=unless-stopped redis:latest