在kubernetes中,如果一个吊舱因某种原因而下降,则接纳控制器将重新启动它。
我们称这为麦加主义自愈。
我从未与docker-compose,合作过,但我想知道:这是一样的吗?
发布于 2021-12-21 15:19:01
当使用docker-compose部署时,或者现在部署到docker compose (有空间)时,您将部署到单个节点。您可以使用处理崩溃应用程序的重新启动策略来定义要自动重新启动的服务。但是,有些情况下,像网络或卷这样的外部因素不处于良好的状态,而我已经看到这种情况导致对接者认为定义无效,此时它停止了重新启动服务的尝试。
还有一个群模式,它是像Kubernetes这样的协调器,它可以使用docker-compose.yml来定义目标状态,它将继续重新启动服务以从中断中恢复,并在集群中的一个节点停止运行时将它们迁移到另一个节点。
发布于 2021-12-21 15:26:22
发布于 2021-12-22 05:23:45
为了在对接环境中实现自我修复,我们可以创建服务,就像在Kubernetes中一样。但是,只有在群模式下使用Docker才能创建服务。
若要启用群集,请使用:docker swarm init。
然后继续创建这样的服务:
docker service create [service-name] [--options [values]...]
如果您想利用创建服务,下面是如何对Postgres数据库这样做的:
version: "3.1"
services:
psql:
image: postgres
secrets:
- psql_user
- psql_password
environment:
POSTGRES_USER_FILE: /run/secrets/psql_user
POSTGRES_PSWD_FILE: /run/secrets/psql_pass
secrets:
psql_user:
file: ./psql_user.txt
psql_password:
file: ./psql_pass.txt最后,继续在docker-come.yaml所在的目录中使用docker-compose up,它将使psql服务启动并运行。
要说得更详细一点,船坞编剧本身并不是一个策划者。docker是一种使用单个文件和单个命令同时启动或停止多个容器的机制。
此外,必须指出,坞-合成是一个测试实用程序,不打算用于生产。对于生产用途,请看一下堆栈。
https://stackoverflow.com/questions/70437573
复制相似问题