如何docker-compose.yml
在系统重新启动时自动启动的单个 docker swarm 节点上运行 docker 堆栈(来自 a )?
我正在使用 docker-compose 组合多个服务的应用程序,然后使用docker stack deploy
它在我的服务器上将其部署到单个实例 docker swarm 实例。
在我的docker-compose.yml
我已经用重启策略定义了我的服务:
deploy:
restart_policy:
condition: any
delay: 5s
max_attempts: 3
window: 120s
placement:
constraints: [node.role == manager]
恕我直言,应该强制服务始终运行/重新启动。但是当 server/docker 守护进程重新启动时,服务并没有启动。有一些简单的方法可以做到这一点吗?
docker service list
会显示:
ID NAME MODE REPLICAS IMAGE PORTS
s9gg88ul584t finalyzer-prod_backend replicated 0/1 registry.gitlab.com/hpoul/finalyzer/finalyzer-backend:latest *:8081->8080/tcp
vb9iwg7zcwxd finalyzer-prod_mongoadmin replicated 0/1 mrvautin/adminmongo:latest *:8082->1234/tcp
qtasgtqi7m0l finalyzer-prod_mongodb replicated 0/1 mongo@sha256:232dfea36769772372e1784c2248bba53c6bdf0893d82375a3b66c09962b5af9
wdnrtlbe8jpw finalyzer-prod_pgdb replicated 0/1 postgres@sha256:73d065c344b419ce97bba953c7887c7deead75e0998053518938231cd7beb22c
所以它认识到它应该运行 1 个节点,但它没有扩大它。强制 docker swarm、service 或 docker stack 在服务器重启(或 docker daemon restart)时将所有配置的服务扩展到其配置值的正确方法是什么?