宝塔面板中Docker容器意外退出未自动恢复,需配置重启策略:一、在Docker管理界面设置重启策略;二、用docker update命令更新;三、重建容器预设策略;四、检查systemd确保Docker服务开机自启且运行正常。

如果您在宝塔面板中部署了 Docker 容器,但容器意外退出后未自动恢复运行,则可能是容器的自动重启策略未正确配置或未生效。以下是管理 Docker 容器自动重启触发器的具体操作步骤:
一、通过宝塔Docker管理界面设置重启策略
宝塔面板的 Docker 插件提供了图形化方式修改容器重启策略,该策略直接映射到 Docker 的 --restart 参数,决定容器退出后的响应行为。
1、登录宝塔面板,点击左侧菜单栏中的 Docker 图标,进入 Docker 管理界面。
2、在“容器列表”中找到目标容器,点击其右侧的 设置 按钮(齿轮图标)。
3、在弹出的设置窗口中,定位到 重启策略 下拉选项,从中选择所需策略:no、on-failure、unless-stopped 或 always。
4、确认选择后,点击 提交,系统将自动执行 docker update 命令更新容器配置。
二、使用SSH终端执行docker update命令
当宝塔界面未及时同步策略或需批量调整时,可直接通过命令行强制更新容器的 restart policy,该操作绕过面板缓存,确保策略立即写入容器元数据。
1、通过宝塔面板的终端功能或 SSH 工具连接服务器。
2、执行 docker ps -a 查看目标容器名称或 CONTAINER ID。
3、运行命令:docker update --restart=always 容器名称或ID(将“always”替换为所需策略值)。
4、执行 docker inspect 容器名称或ID | grep -i restart 验证策略已更新生效。
三、重建容器并预设重启策略
若容器存在配置冲突或策略无法热更新,可通过删除旧容器并重新创建的方式,在启动阶段固化重启策略,避免遗留状态干扰。
1、在宝塔 Docker 界面中,选中目标容器,点击 删除(勾选“同时删除卷”需谨慎)。
2、点击 创建容器,填写镜像名、端口映射、环境变量等参数。
3、在高级设置区域,找到 重启策略 选项,下拉选择对应策略值。
4、点击 提交,新容器将以指定重启策略启动并持久化保存该配置。
四、检查宿主机systemd对Docker服务的影响
Docker 守护进程自身若被 systemd 设置为非自动启动,会导致所有容器重启策略失效;即使容器配置了 always,Docker 服务未运行则容器无法启动。
1、执行 systemctl is-enabled docker,确认返回值为 enabled。
2、若返回 disabled,运行 systemctl enable docker 启用开机自启。
3、执行 systemctl status docker 检查当前服务状态是否为 active (running)。
4、如状态异常,运行 systemctl start docker 手动启动服务。










