Skip to Content

Docker & Compose

O código de borda de apps IronFlock é empacotado como containers Docker. Para apps mais complexos, Docker Compose permite orquestrar múltiplos containers juntos.

Dockerfile Básico

FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY src/ . CMD ["python", "main.py"]

Docker Compose para Apps Multi-Container

version: "3.8" services: agent: build: ./agent volumes: - /app/params:/app/params:ro restart: unless-stopped environment: - WAMP_URL=ws://localhost:8080/ws - REALM=realm1 processor: build: ./processor depends_on: - agent restart: unless-stopped

Volumes Importantes

O agente IronFlock monta volumes no seu container de borda:

CaminhoConteúdo
/app/params/Parâmetros configurados pelo usuário (JSON)
/app/data/Armazenamento persistente local

Monte estes como volumes somente leitura (params) ou leitura-escrita (data) conforme necessário.

Variáveis de Ambiente

O agente IronFlock injeta variáveis de ambiente no seu container:

VariávelDescrição
WAMP_URLURL do broker WAMP local
REALMRealm WAMP para conexão
DEVICE_SERIALNúmero de série único do dispositivo
APP_KEYIdentificador do app

Boas Práticas

  • Use imagens base pequenas (-slim, -alpine) para reduzir o tamanho do download
  • Faça camadas de instalações de dependências antes do código da aplicação para melhor caching
  • Sempre use restart: unless-stopped para resiliência
  • Nunca armazene credenciais em imagens — use parâmetros ou variáveis de ambiente
Last updated on