在 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 无效,可以先删除容器再重建:

1
docker 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

如果返回 alwaysunless-stopped 等,则表示该容器启用了自动启动。


📌 适用场景

  • 建议使用 unless-stopped,避免手动停止的容器意外重启。
  • 如果是关键服务(如 Nginx、MySQL),可以用 always 确保开机时自动恢复。

🚀 这样就可以根据需求灵活管理 Docker 容器的开机启动!