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
- Criação e inicialização de containers: o comando
docker compose up
cria e inicia todos os containers especificados na seçãoservices
do arquivocompose.yaml
. - Configuração de redes e volumes: o Docker Compose cria automaticamente as redes necessárias e monta os volumes definidos na configuração.
- 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.
- 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
:
docker compose up
2. Iniciar um serviço específico
Inicia um serviço específico, por exemplo, web
:
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):
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.
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.
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.
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.
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.
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.
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.
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.
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.
GO TO FULL VERSION