129 lines
2.0 KiB
Markdown
Executable File
129 lines
2.0 KiB
Markdown
Executable File
# Docker 安装 Redis
|
||
|
||
## 1. 下载 Redis 镜像
|
||
|
||
```bash
|
||
docker pull redis:latest
|
||
|
||
# 或者指定版本
|
||
docker pull redis:7-alpine
|
||
```
|
||
|
||
## 2. 创建本地目录
|
||
|
||
```bash
|
||
# 创建配置和数据目录
|
||
mkdir -p redis/conf redis/data
|
||
```
|
||
|
||
## 3. 创建 Redis 配置文件
|
||
|
||
```bash
|
||
cat > redis/conf/redis.conf << 'EOF'
|
||
# 基本配置
|
||
bind 0.0.0.0
|
||
protected-mode no
|
||
port 6379
|
||
|
||
# 持久化
|
||
appendonly yes
|
||
appendfilename "appendonly.aof"
|
||
|
||
# 内存管理
|
||
maxmemory 256mb
|
||
maxmemory-policy allkeys-lru
|
||
|
||
# 日志
|
||
loglevel notice
|
||
EOF
|
||
```
|
||
|
||
## 4. 启动 Redis 容器
|
||
|
||
```bash
|
||
docker run -d \
|
||
--name redis \
|
||
-p 6379:6379 \
|
||
-v $PWD/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
|
||
-v $PWD/redis/data:/data \
|
||
redis:latest \
|
||
redis-server /usr/local/etc/redis/redis.conf
|
||
```
|
||
|
||
### 参数说明
|
||
|
||
| 参数 | 说明 |
|
||
|------|------|
|
||
| `-d` | 后台运行 |
|
||
| `--name redis` | 容器名称 |
|
||
| `-p 6379:6379` | 端口映射 |
|
||
| `-v .../redis.conf:...` | 配置文件挂载 |
|
||
| `-v .../data:/data` | 数据目录挂载 |
|
||
| `redis-server ...` | 使用指定配置文件启动 |
|
||
|
||
## 5. 连接测试
|
||
|
||
```bash
|
||
# 使用 redis-cli 连接
|
||
docker exec -it redis redis-cli
|
||
|
||
# 或者直接用 redis-cli(如果主机已安装)
|
||
redis-cli
|
||
|
||
# 测试
|
||
> PING
|
||
PONG
|
||
|
||
> SET test "hello"
|
||
OK
|
||
|
||
> GET test
|
||
"hello"
|
||
```
|
||
|
||
## 6. 常用运维命令
|
||
|
||
```bash
|
||
# 查看容器状态
|
||
docker ps | grep redis
|
||
|
||
# 查看日志
|
||
docker logs -f redis
|
||
|
||
# 进入容器
|
||
docker exec -it redis sh
|
||
|
||
# 停止/启动
|
||
docker stop redis
|
||
docker start redis
|
||
```
|
||
|
||
## 7. 无配置文件快速启动
|
||
|
||
如果不需要自定义配置:
|
||
|
||
```bash
|
||
docker run -d \
|
||
--name redis \
|
||
-p 6379:6379 \
|
||
-v redis-data:/data \
|
||
redis:latest \
|
||
redis-server --appendonly yes
|
||
```
|
||
|
||
## 8. 数据备份
|
||
|
||
Redis 数据存储在 `/data` 目录(已挂载到本地):
|
||
|
||
```bash
|
||
# 备份
|
||
tar -czvf redis-backup-$(date +%Y%m%d).tar.gz redis/data/
|
||
|
||
# 恢复
|
||
tar -xzvf redis-backup-xxxxxxxx.tar.gz
|
||
```
|
||
|
||
---
|
||
|
||
> 参考:[Redis Docker 官方文档](https://hub.docker.com/_/redis)
|