Files
chill_notes/Docker/CentOS7设置Docker开机自启动.md
2026-04-21 20:16:50 +08:00

1.8 KiB
Executable File
Raw Blame History

CentOS 7 设置 Docker 开机自启动

1. 设置 Docker 开机启动

# 启用 Docker 服务开机自启
systemctl enable docker

# 验证设置
systemctl is-enabled docker

2. 设置容器自动重启

方式一:创建容器时指定

docker run -d --restart=always --name <容器名> <镜像>

--restart 参数选项:

说明
no 容器退出时不重启(默认)
on-failure 仅在非 0 状态退出时重启
on-failure:3 非 0 退出时最多重启 3 次
always 无论退出状态如何都重启
unless-stopped 除非手动停止,否则始终重启

方式二:修改已有容器

# 更新容器重启策略
docker update --restart=always <容器ID或名称>

# 示例
docker update --restart=always my-redis
docker update --restart=always 8a3c5f7d2e91

3. 批量设置所有容器

# 将所有容器设置为自动重启
docker update --restart=always $(docker ps -aq)

4. 验证配置

# 查看容器重启策略
docker inspect <容器名> --format='{{.HostConfig.RestartPolicy.Name}}'

# 查看所有容器的重启策略
docker ps --format '{{.Names}}: {{.Status}}'

常见问题

Q容器内应用崩溃退出后Docker 会重启容器吗?

A--restart=always 会在容器退出时自动重启。但如果容器内应用不断崩溃Docker 会不断重启,可能造成死循环。建议使用健康检查机制。

Q服务器重启后容器启动顺序重要吗

A如果容器有依赖关系如 Web 应用依赖数据库),需要考虑启动顺序。可使用 docker-composedepends_on 或设置重启策略的 condition


参考:Docker 官方文档 - 重启策略