Update from Sync Service

This commit is contained in:
FNS Service
2026-04-21 20:16:50 +08:00
parent 5b1e446028
commit 69706c5405
4 changed files with 316 additions and 4 deletions

View File

@@ -0,0 +1,71 @@
# CentOS 7 设置 Docker 开机自启动
## 1. 设置 Docker 开机启动
```bash
# 启用 Docker 服务开机自启
systemctl enable docker
# 验证设置
systemctl is-enabled docker
```
## 2. 设置容器自动重启
### 方式一:创建容器时指定
```bash
docker run -d --restart=always --name <容器名> <镜像>
```
`--restart` 参数选项:
| 值 | 说明 |
|----|------|
| `no` | 容器退出时不重启(默认) |
| `on-failure` | 仅在非 0 状态退出时重启 |
| `on-failure:3` | 非 0 退出时最多重启 3 次 |
| `always` | 无论退出状态如何都重启 |
| `unless-stopped` | 除非手动停止,否则始终重启 |
### 方式二:修改已有容器
```bash
# 更新容器重启策略
docker update --restart=always <容器ID或名称>
# 示例
docker update --restart=always my-redis
docker update --restart=always 8a3c5f7d2e91
```
## 3. 批量设置所有容器
```bash
# 将所有容器设置为自动重启
docker update --restart=always $(docker ps -aq)
```
## 4. 验证配置
```bash
# 查看容器重启策略
docker inspect <容器名> --format='{{.HostConfig.RestartPolicy.Name}}'
# 查看所有容器的重启策略
docker ps --format '{{.Names}}: {{.Status}}'
```
## 常见问题
**Q容器内应用崩溃退出后Docker 会重启容器吗?**
A`--restart=always` 会在容器退出时自动重启。但如果容器内应用不断崩溃Docker 会不断重启,可能造成死循环。建议使用健康检查机制。
**Q服务器重启后容器启动顺序重要吗**
A如果容器有依赖关系如 Web 应用依赖数据库),需要考虑启动顺序。可使用 `docker-compose``depends_on` 或设置重启策略的 `condition`
---
> 参考:[Docker 官方文档 - 重启策略](https://docs.docker.com/config/containers/start-containers-automatically/)

128
Docker/Docker安装Redis.md Executable file
View File

@@ -0,0 +1,128 @@
# 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)

114
Docker/Docker部署MongoDB.md Executable file
View File

@@ -0,0 +1,114 @@
# Docker 部署 MongoDB
## 1. 下载 MongoDB 镜像
```bash
docker pull mongo:latest
# 查看已下载的镜像
docker images mongo
```
## 2. 启动 MongoDB 容器
```bash
docker run -d \
--name mongodb \
-p 27017:27017 \
-v $PWD/data:/data/db \
mongo:latest
```
### 参数说明
| 参数 | 说明 |
|------|------|
| `-d` | 后台运行 |
| `--name mongodb` | 容器名称 |
| `-p 27017:27017` | 端口映射(主机:容器) |
| `-v $PWD/data:/data/db` | 数据卷挂载,持久化存储 |
## 3. 配置认证(可选,推荐)
```bash
# 创建管理员账号
docker exec -it mongodb mongosh admin
# 在 mongosh 中执行
db.createUser({
user: "admin",
pwd: "你的密码",
roles: [{ role: "root", db: "admin" }]
})
# 退出
exit
```
### 带认证启动
```bash
docker stop mongodb
docker rm mongodb
docker run -d \
--name mongodb \
-p 27017:27017 \
-v $PWD/data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=你的密码 \
mongo:latest --auth
```
## 4. 连接测试
```bash
# 方式一:使用 mongosh 连接
docker exec -it mongodb mongosh --host 127.0.0.1
# 方式二:从另一容器连接
docker run -it --rm \
--link mongodb:mongo \
mongo:latest \
mongosh --host mongo
# 方式三:从主机连接(需要安装 mongosh
mongosh mongodb://admin:密码@localhost:27017
```
看到以下提示说明部署成功:
```
It looks like you are trying to access MongoDB over HTTP on the native driver port.
```
## 5. 常用管理命令
```bash
# 查看容器状态
docker ps | grep mongodb
# 查看日志
docker logs -f mongodb
# 进入容器
docker exec -it mongodb bash
# 停止/启动
docker stop mongodb
docker start mongodb
```
## 6. 数据备份与恢复
```bash
# 备份(数据在挂载的 $PWD/data 目录中)
tar -czvf mongodb-backup-$(date +%Y%m%d).tar.gz data/
# 恢复
tar -xzvf mongodb-backup-xxxxxxxx.tar.gz
```
---
> 参考:[MongoDB Docker 官方文档](https://hub.docker.com/_/mongo)

View File

@@ -17,14 +17,13 @@ updated: 2026-04-21
### 基础入门 ### 基础入门
| 笔记 | 说明 | | 笔记 | 说明 |
|------|------| |------|------|
| [[Docker安装redis]] | Redis 容器化部署 | | [[Docker安装Redis]] | Redis 容器化部署 |
| [[Docker 部署 MongoDB]] | MongoDB 容器化部署 | | [[Docker部署MongoDB]] | MongoDB 容器化部署 |
| [[Docker-Compose安装]] | Docker Compose 安装 |
### 运维管理 ### 运维管理
| 笔记 | 说明 | | 笔记 | 说明 |
|------|------| |------|------|
| [[CentOS 7 设置 Docker 开机自启动]] | Docker 及容器自启动配置 | | [[CentOS7设置Docker开机自启动]] | Docker 及容器自启动配置 |
| [[Docker镜像清理]] | 清理无用镜像 | | [[Docker镜像清理]] | 清理无用镜像 |
| [[批量删除已停止容器]] | 批量清理已停止容器 | | [[批量删除已停止容器]] | 批量清理已停止容器 |