CodeGym /Cursos /Docker SELF /Inicialização de aplicações e serviços

Inicialização de aplicações e serviços

Docker SELF
Nível 15 , Lição 3
Disponível

4.1 Comando docker compose up

O comando docker compose up é um comando chave do Docker Compose, que permite iniciar aplicações com múltiplos containers, definidas no arquivo compose.yaml. Ele cria e inicia automaticamente todos os serviços especificados na configuração, configura redes e monta volumes. Nesta aula, vamos examinar em detalhes o uso do comando docker compose up, seus principais parâmetros e melhores práticas.

Principais funcionalidades do comando docker compose up

  1. Criação e inicialização de containers: o comando docker compose up cria e inicia todos os containers especificados na seção services do arquivo compose.yaml.
  2. Configuração de redes e volumes: o Docker Compose cria automaticamente as redes necessárias e monta os volumes definidos na configuração.
  3. Inicialização paralela de serviços: todos os serviços são iniciados em paralelo, o que acelera o processo de inicialização de aplicações com múltiplos containers.
  4. Monitoramento dos logs: o comando exibe os logs de todos os containers iniciados em tempo real, permitindo acompanhar o estado deles e identificar rapidamente problemas.

Sintaxe do comando docker compose up


docker compose up [options] [SERVICE...]

Onde:

  • [options]: parâmetros adicionais para configurar o comportamento do comando (por exemplo, --detach, --build, --scale).
  • [SERVICE...]: (opcional) lista de serviços que precisam ser iniciados. Se não especificado, todos os serviços são iniciados.

4.2 Exemplos de docker compose up

Exemplos de uso do comando docker compose up:

1. Iniciar todos os serviços

Inicia todos os serviços definidos no arquivo compose.yaml:

Terminal

docker compose up

2. Iniciar um serviço específico

Inicia um serviço específico, por exemplo, web:

Terminal

docker compose up web

3. Iniciar no modo em segundo plano

Para iniciar todos os serviços no modo em segundo plano, use a opção -d (detached mode):

Terminal

docker compose up -d

Ao usar essa opção, o comando será concluído imediatamente após o início dos containers, e eles continuarão rodando em segundo plano.

4.3 Parâmetros do comando docker compose up

Parâmetros úteis do comando docker compose up:

1. Parâmetro --build

Esse parâmetro faz com que o Docker Compose recrie as imagens antes de iniciar os containers. Útil se você fez alterações no código fonte ou no Dockerfile.

Terminal

docker compose up --build

2. Parâmetro --force-recreate

O parâmetro --force-recreate força o Docker Compose a recriar os containers, mesmo que sua configuração não tenha mudado.

Terminal

docker compose up --force-recreate

3. Parâmetro --no-recreate

O parâmetro --no-recreate impede a recriação dos containers que já existem, mesmo que a configuração deles tenha mudado.

Terminal

docker compose up --no-recreate

4. Parâmetro --remove-orphans

Esse parâmetro remove os containers que não estão definidos no arquivo atual compose.yaml, mas que foram criados a partir de execuções anteriores do Docker Compose.

Terminal

docker compose up --remove-orphans

5. Parâmetros -V, --renew-anon-volumes

Esses parâmetros fazem com que o Docker Compose recrie volumes anônimos em vez de reutilizá-los.

Terminal

docker compose up -V

4.4 Exemplos e Recomendações

Exemplos de uso do comando docker compose up com diferentes opções:

Exemplo 1: iniciando a aplicação com reconstrução das imagens

Este exemplo reconstrói as imagens antes de iniciar os containers, o que é útil se você fez alterações no código fonte ou no Dockerfile.

Terminal

docker compose up --build

Exemplo 2: iniciando em modo background com recriação de containers

Este exemplo inicia os containers em modo background e os recria, mesmo que a configuração não tenha sido alterada.

Terminal

docker compose up -d --force-recreate

Exemplo 3: iniciando um serviço específico com remoção de containers desnecessários

Este exemplo inicia apenas o serviço web e remove os containers que não estão definidos no arquivo compose.yaml atual.

Terminal

docker compose up web --remove-orphans

Recomendações Práticas

1. Uso do arquivo .env

Você pode usar o arquivo .env para definir variáveis de ambiente que serão usadas no seu arquivo compose.yaml. Isso ajuda no gerenciamento da configuração e facilita o processo de deploy em diferentes ambientes.

2. Logs e Monitoramento

Quando você inicia containers com o comando docker compose up, todos os logs são exibidos no console. Isso permite acompanhar o status dos serviços e reagir rapidamente a problemas que surgirem. Para monitoramento detalhado, use os comandos docker compose logs e docker compose ps.

3. Automação de Build e Deploy

Integrar o comando docker compose up em scripts de automação ou pipelines de CI/CD ajuda a automatizar o processo de build e deploy de aplicações multi-container. Por exemplo, você pode configurar o Jenkins ou o GitHub Actions para realizar o build, deploy e iniciar o docker compose up automaticamente a cada atualização de código.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION