设置 Docker 容器开机自动启动和取消自动启动
在 Docker 中,可以使用 --restart
选项或者 docker update
命令来管理容器的 开机自动启动 及 取消自动启动。
🔹 设置容器开机自动启动
在 启动容器时,可以使用 --restart
选项:
docker run -d --name my_container --restart=unless-stopped my_image
📌 --restart
参数支持以下几种模式:
no
(默认):不自动启动always
:无论退出原因,总是自动重启unless-stopped
:除非手动停止,否则开机自动启动on-failure[:次数]
:仅在非零退出时(错误)重启,可指定最大重启次数
🔹 修改已有容器的自动启动策略
如果容器已存在,可以使用 docker update
修改:
docker update --restart=unless-stopped my_container
🔹 取消容器的开机自启动
有两种方法:
1️⃣ 直接修改已有容器
docker update --restart=no my_container
2️⃣ 移除并重新创建容器
如果 docker update
无效,可以先删除容器再重建:
1docker stop my_container docker rm my_container docker run -d --name my_container --restart=no my_image
🔹 查看容器的自动启动状态
运行以下命令:
docker inspect -f '{{ .HostConfig.RestartPolicy.Name }}' my_container
如果返回 always
、unless-stopped
等,则表示该容器启用了自动启动。
📌 适用场景
- 建议使用
unless-stopped
,避免手动停止的容器意外重启。 - 如果是关键服务(如 Nginx、MySQL),可以用
always
确保开机时自动恢复。
🚀 这样就可以根据需求灵活管理 Docker 容器的开机启动!