当我尝试使用public class List1 {
public string Name { get; set; }
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public decimal TotalValue { get; set;}
public List<Elements> Details { get; set;}
}
public class Elements {
public string Name { get; set; }
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public decimal Value { get; set; }
}
运行它时,出现错误:docker stack deploy -c docker-compose.yml stack-name
如果被中断,我需要超级服务和docker容器重新启动。没有Error response from daemon: invalid RestartCondition: "unless-stopped"
(仅对容器使用restart_policy
),如果我重新启动计算机,它将仅重新启动容器,而不重新启动服务。超级服务使我可以使用仅服务的docker功能(例如机密,配置,资源等)。容器让我可以使用设备。
Docker supports the restart policy。我也看到了this thread,但不确定是如何制作的,或者是否相关。我有点Docker新手。
我的--restart unless-stopped
文件:
docker-compose.yml
Docker版本18.05.0-ce,内部版本f150324
Linux raspberrypi 4.14.50-v7 +#1122 SMP Tue Jun 19 12:26:26 BST 2018 armv7l GNU / Linux
答案 0 :(得分:1)
如果您以堆栈形式部署,则不需要重新启动策略,甚至在极端情况下(主机内存不足),它甚至会破坏事情。这是因为群组模式会查看您定义的目标状态,将其与当前状态进行比较,并协调所有差异。
因此,如果您的容器停止运行,则无论重启策略如何,群集模式都会重新创建一个新实例。手动停止容器将导致启动新实例,这与失败相同,甚至滚动更新。
要手动停止由群集模式管理的容器,您需要推送新的目标状态,该服务将0个副本作为新目标。
答案 1 :(得分:0)