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

Aplicações em contêineres

O JelinaOS inclui um runtime completo de contêineres, o Docker. A implantação segue um princípio unificado: gerenciar as aplicações pelo sistema de Releases, em vez de executar contêineres manualmente no dispositivo. Em produção, recomendamos usar esse fluxo para todas as aplicações em contêineres, mantendo controle sobre definição, implantação, supervisão, atualização e reversão.

Criar e enviar imagem → Declarar aplicação em contêiner na Release → Implantar no dispositivo → Agente obtém e executa

Construa uma imagem de contêiner da aplicação e envie-a a um registro de imagens, privado da empresa ou público:

Terminal window
docker build -t registry.example.com/myapp:1.0.0 .
docker push registry.example.com/myapp:1.0.0

Crie um Release no JelinaCloud e adicione a aplicação em contêiner:

  • Informe o endereço da imagem e a tag de versão. Recomenda-se uma versão explícita para evitar atualizações inesperadas.
  • Configure variáveis de ambiente, mapeamento de portas e volumes de dados.
  • Defina a política de reinício, preferencialmente always, e os limites de recursos.

Implante o Release na frota ou no dispositivo de destino. O agente realiza automaticamente:

  • Download da imagem e criação do contêiner.
  • Inserção de variáveis de ambiente, mapeamento de portas e montagem de volumes conforme a configuração.
  • Inicialização e supervisão contínua do contêiner, com reinício automático em caso de falha e retomada após reinicializar o dispositivo.

O sistema de arquivos do contêiner é perdido quando ele é recriado. Monte na partição de dados tudo o que precisar ser persistente:

  • Declare volumes para a aplicação no Release ou monte diretórios da partição de dados do dispositivo.
  • Os dados permanecem independentes do ciclo de vida do contêiner e não são afetados por atualizações ou recriações.

Os comandos Docker no dispositivo servem para consulta e diagnóstico, não para gerenciar a implantação:

Terminal window
docker ps # Consulta o estado de execução dos contêineres
docker logs <nome_do_contêiner> # Consulta logs dos contêineres
docker events # Acompanha eventos dos contêineres para diagnóstico
  • Versões fixas: use tags explícitas de versão das imagens no Release.
  • Verificações de integridade: configure health checks e políticas de reinício para recuperação automática.
  • Limites de recursos: limite memória e CPU dos contêineres para evitar impacto no dispositivo inteiro.
  • Registro privado: em ambientes corporativos, use um registro privado; o agente centraliza a distribuição das imagens.
  • Atualização e reversão: atualize publicando uma nova versão e reverta selecionando novamente a versão anterior, sempre com orquestração pela nuvem.

Posso implantar aplicações diretamente com docker run no dispositivo? É tecnicamente possível, mas não recomendado. Uma aplicação iniciada diretamente fica fora do sistema de Releases e não recebe supervisão, atualização e reversão unificadas. Em produção, implante por Release.

O que acontece se um contêiner encerrar de forma anormal? Se a aplicação estiver configurada com restart: always no Release, o agente a reiniciará automaticamente.