You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用docker stack deploy时提示‘Ignoring unsupported options: restart’,重启策略是否失效?

关于Docker Stack部署时restart选项被忽略的问题解答

嘿,这个问题我之前也碰到过,给你梳理清楚:

首先,那个提示确实意味着你在Compose文件里写的restart选项没有生效。原因很简单:Docker Swarm模式和单机Docker的重启策略是两套完全不同的配置体系——restart是单机容器的专属配置项,Swarm服务根本不识别它,所以部署时会直接忽略这个字段。

接下来,你完全不需要在Compose文件外单独指定重启策略,只要把配置改成Swarm支持的格式就行:把原来的restart字段替换成deploy块下的restart_policy配置。

举个Joomla的例子,假设你原来的Compose代码是这样的:

joomla:
  image: joomla
  restart: always

那改成Swarm兼容的写法应该是:

joomla:
  image: joomla
  deploy:
    restart_policy:
      condition: any          # 可选值:any(任何情况都重启)、on-failure(容器失败时重启)、none(不自动重启)
      delay: 5s               # 重启前的延迟时间
      max_attempts: 3         # 最大重试次数
      window: 120s            # 判断重启是否成功的窗口时间

这样再用docker stack deploy -c stackjoomla.yml joomla部署时,就不会再出现忽略提示,而且重启策略会正常生效。

简单总结:Swarm服务的重启策略必须放在deploy.restart_policy块中,单机的restart配置在Swarm模式下完全不适用,替换成对应配置即可。

内容的提问来源于stack exchange,提问作者Paul Rougieux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:17:48