docker compose up

O comando docker compose up é utilizado para iniciar, criar, ou reiniciar os serviços definidos em um arquivo docker-compose.yml. Ele combina a criação dos containers, redes, e volumes especificados no arquivo, além de iniciar os serviços, tudo em um único comando.

Estrutura do Comando

docker compose up [opções] [SERVIÇOS...]
  • SERVIÇOS: Você pode especificar quais serviços deseja iniciar. Se nenhum serviço for especificado, todos os serviços definidos no docker-compose.yml serão iniciados.

Principais Opções

  • -d ou --detach: Executa os containers em segundo plano (modo "detached"). Esse modo é útil quando você não quer que o terminal fique bloqueado pela execução dos containers.

  • --build: Reconstroi as imagens dos serviços antes de iniciar os containers, útil quando há mudanças no Dockerfile.

  • --force-recreate: Recria os containers, mesmo que eles não tenham sido alterados.

  • --no-deps: Inicia o serviço especificado sem iniciar seus serviços dependentes.

  • --remove-orphans: Remove containers de serviços que não estão mais definidos no docker-compose.yml.

  • --scale SERVICE=NUM: Define o número de instâncias que serão executadas para um serviço específico.

Exemplos

  1. Iniciando todos os serviços em modo "detached":

    docker compose up -d
  2. Iniciando um serviço específico:

    docker compose up web
  3. Forçando a recriação de todos os containers:

    docker compose up --force-recreate
  4. Escalando o serviço web para 3 instâncias:

    docker compose up --scale web=3

Comportamento

  • Criação de Containers: Se os containers já existirem, o docker compose up tentará iniciá-los. Se eles não existirem, o comando os criará e os iniciará.

  • Rede: Por padrão, uma rede é criada para conectar os containers entre si, permitindo a comunicação via nomes de serviço.

  • Volumes: Os volumes definidos no docker-compose.yml são montados nos containers, permitindo persistência de dados entre reinicializações.

  • Logs: Se o modo "detached" não for usado, os logs dos containers são exibidos no terminal. Você pode interromper a execução pressionando CTRL+C.

Finalizando Serviços

Para parar os serviços que foram iniciados pelo comando docker compose up, você pode utilizar:

Este comando também removerá as redes criadas, mas preservará os volumes e imagens.

Considerações Finais

O comando docker compose up é ideal para ambientes de desenvolvimento, onde é conveniente iniciar rapidamente todo o ambiente necessário para a aplicação com um único comando. Para ambientes de produção, o uso do -d é comum, garantindo que os serviços rodem em segundo plano sem bloquear o terminal.

Last updated