在 CentOS 上让 Docker 容器开机自动启动,通常有 两种层面 的设置:
先确保 Docker 服务是开机自启的:
systemctl enable docker
检查状态:
systemctl status docker
使用 --restart=always 参数:
docker run -d \
--restart=always \
--name my_container \
nginx
这样:
docker update --restart=always my_container
查看是否生效:
docker inspect my_container | grep RestartPolicy
| 策略 | 说明 |
|---|---|
no |
不自动重启(默认) |
always |
总是重启 |
on-failure |
非正常退出时重启 |
unless-stopped |
除非手动停止,否则一直重启 |
✅ 生产环境推荐:always 或 unless-stopped
# 启动 Docker
systemctl enable docker
systemctl start docker
# 启动容器并设置开机自启
docker run -d \
--restart=always \
-p 80:80 \
--name web \
nginx
systemctl start docker
docker update --restart=always 容器名
docker ps -a
如果你用的是 docker-compose 或 CentOS Stream / Rocky / Alma,我也可以给你对应方案。