Update from Sync Service

This commit is contained in:
FNS Service
2026-04-21 20:12:02 +08:00
parent 439753fb97
commit 5b1e446028
2 changed files with 1 additions and 1 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/)