跳转到内容
返回官网

容器编排(Compose)

当应用由多个服务组成(例如业务服务 + 数据库 + 消息队列),使用编排文件可以集中声明它们的定义、依赖与运行方式。编排的执行由设备代理统一完成——你在发布中配置,设备自动部署,无需在设备上手工操作。

发布中声明编排配置(services + programs)
│
▼
设备代理同步目标状态 ──▶ 拉取镜像 / 应用包 ──▶ 创建并启动服务 ──▶ 持续守护
│ │
│ ▼
└────────────────────────────── 版本更新 / 回滚 ◀────── 异常自动重启
  • 多服务的启动顺序、依赖关系由设备代理按编排声明处理;
  • 服务异常退出自动重启,设备重启后自动恢复;
  • 版本升级与回滚通过发布管理,设备代理自动执行。

以下为发布中的编排配置(完整字段说明见 docker-compose 兼容与拓展):

version: "2.4"
services:
app:
image: myapp:1.0.0
restart: always
ports:
- "8080:80"
depends_on:
- db
db:
image: postgres:16
volumes:
- dbdata:/var/lib/postgresql/data
programs:
collector:
command: collector --config /data/collector.conf
restart: on-failure
volumes:
dbdata:

编排配置在创建发布时填写(支持编辑模式或上传编排文件),应用包(容器镜像 / 原生应用包)在发布详情中上传。操作详见:

  • 编排中的数据卷独立于容器生命周期,容器重建、升级不影响数据;
  • 建议同时将关键数据挂载到设备的数据分区。
  • 编排支持基于 2.x 规范,主流编排文件可直接使用;
  • 3.x 新增的字段不在支持范围内;
  • 完整的字段与兼容性说明见 docker-compose 兼容与拓展。