Update from Sync Service
This commit is contained in:
@@ -1,128 +0,0 @@
|
||||
# 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)
|
||||
@@ -1,62 +0,0 @@
|
||||
# Docker 镜像清理
|
||||
|
||||
## 清理无用镜像
|
||||
|
||||
### 方法一:prune 命令(推荐)
|
||||
|
||||
```bash
|
||||
# 清理悬空镜像(无 tag 的镜像)
|
||||
docker image prune -f
|
||||
|
||||
# 清理所有未使用镜像
|
||||
docker image prune -a -f
|
||||
```
|
||||
|
||||
### 方法二:批量清理
|
||||
|
||||
```bash
|
||||
# 批量删除所有无用镜像,不会影响正在使用的镜像
|
||||
docker images | awk 'NR!=1{print $1":"$2}' | xargs docker rmi
|
||||
```
|
||||
|
||||
### 方法三:system prune(全面清理)
|
||||
|
||||
```bash
|
||||
# 清理所有未使用的容器、网络、镜像
|
||||
docker system prune -f
|
||||
|
||||
# 清理所有未使用的镜像,不仅仅是悬空镜像
|
||||
docker system prune -a -f
|
||||
|
||||
# 清理卷(注意:会删除数据)
|
||||
docker system prune --volumes -f
|
||||
```
|
||||
|
||||
## 清理前后对比
|
||||
|
||||
```bash
|
||||
# 查看清理前
|
||||
docker images -a
|
||||
|
||||
# 清理
|
||||
docker system prune -f
|
||||
|
||||
# 查看清理后
|
||||
docker images -a
|
||||
```
|
||||
|
||||
## 定时清理(可选)
|
||||
|
||||
创建 cron 任务定期清理:
|
||||
|
||||
```bash
|
||||
# 编辑 crontab
|
||||
crontab -e
|
||||
|
||||
# 每周日凌晨 3 点清理
|
||||
0 3 * * 0 /usr/bin/docker system prune -f
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> 参考:[Docker 官方文档](https://docs.docker.com/config/pruning/)
|
||||
Reference in New Issue
Block a user