Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Orquestração de contêineres (Compose)

Quando uma aplicação reúne vários serviços, como aplicação de negócio, banco de dados e fila de mensagens, um arquivo de orquestração permite declarar centralmente suas definições, dependências e formas de execução. O agente do dispositivo executa toda a orquestração: você configura o Release, e o dispositivo implanta automaticamente, sem operações manuais locais.

Declarar a configuração de orquestração na Release (services + programs)
│
▼
Agente sincroniza estado desejado ──▶ Obtém imagens / pacotes ──▶ Cria e inicia serviços ──▶ Supervisão contínua
│ │
│ ▼
└────────────────────────────── Atualização / reversão de versão ◀────── Reinicialização automática após falha
  • O agente trata a ordem de inicialização e as dependências dos serviços conforme a declaração de orquestração.
  • Serviços encerrados de forma anormal são reiniciados automaticamente e voltam a executar após a reinicialização do dispositivo.
  • Atualizações e reversões de versão são gerenciadas por Releases e executadas automaticamente pelo agente.

O exemplo abaixo mostra a configuração de um Release. Consulte a descrição completa dos campos em compatibilidade e extensões do 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:

A orquestração é preenchida ao criar o Release, por edição ou upload do arquivo. Os pacotes de aplicação, como imagens de contêiner e pacotes nativos, são enviados na página de detalhes. Consulte:

  • Os volumes declarados na orquestração são independentes do ciclo de vida do contêiner; recriações e atualizações não afetam seus dados.
  • Também é recomendável montar os dados essenciais na partição de dados do dispositivo.
  • A orquestração se baseia na especificação 2.x, permitindo utilizar diretamente arquivos comuns dessa versão.
  • Campos adicionados na versão 3.x não são suportados.
  • Consulte os campos e detalhes de compatibilidade em compatibilidade e extensões do docker-compose.