docker compose create

O comando docker compose create é utilizado para criar containers a partir das definições no arquivo docker-compose.yml, sem iniciá-los. Isso permite que você configure o ambiente de execução dos containers antecipadamente e revise as configurações antes de executá-los.

Estrutura do Comando

docker compose create [opções] [SERVIÇOS...]
  • SERVIÇOS: Especifica os serviços para os quais os containers devem ser criados. Se nenhum serviço for especificado, o Compose criará containers para todos os serviços definidos no arquivo docker-compose.yml.

Principais Opções

  • --build: Força a construção das imagens antes de criar os containers, caso elas ainda não existam ou estejam desatualizadas.

  • --force-recreate: Recria os containers mesmo que eles já existam, ignorando qualquer estado anterior.

  • --no-recreate: Impede a recriação de containers que já existem, utilizando-os como estão.

  • --remove-orphans: Remove containers órfãos que não estão definidos no arquivo docker-compose.yml atual, mas que fazem parte da configuração anterior.

  • --dry-run: Simula a criação dos containers, mostrando o que seria feito sem realmente executar o comando.

Comportamento Padrão

  • Criação de Containers: O comando docker compose create cria os containers a partir das imagens especificadas, com base nas configurações detalhadas no arquivo docker-compose.yml. No entanto, os containers não são iniciados após a criação.

  • Reutilização de Containers Existentes: Se um container correspondente a um serviço já existir, o docker compose create não o recriará, a menos que seja usada a opção --force-recreate.

Exemplos

  1. Criando containers para todos os serviços definidos:

    Este comando cria os containers para todos os serviços especificados no docker-compose.yml, mas não os inicia.

  2. Criando um container para um serviço específico:

    Aqui, apenas o container para o serviço web é criado.

  3. Forçando a recriação de todos os containers, ignorando os existentes:

    Todos os containers são recriados, mesmo que já existam, garantindo que as configurações mais recentes sejam aplicadas.

  4. Criando containers sem construir imagens:

    Containers já existentes não serão recriados; o Compose reutiliza os containers existentes.

  5. Removendo containers órfãos durante a criação:

    Containers órfãos, que não estão definidos no arquivo Compose atual, serão removidos.

Diferenças com Outros Comandos

  • docker compose up: O comando docker compose up cria e inicia os containers de uma só vez. Em contraste, docker compose create apenas cria os containers, sem iniciá-los, permitindo uma inspeção ou personalização antes da execução.

  • docker create: Similar ao docker compose create, mas funciona para containers individuais e não no contexto de múltiplos serviços definidos em um arquivo docker-compose.yml.

Quando Utilizar

O comando docker compose create é útil em cenários onde você precisa preparar o ambiente de containers antes de iniciar a execução. Isso inclui:

  • Depuração: Verificar se os containers foram criados corretamente antes de iniciá-los.

  • Ambientes de Produção: Configurar os containers antecipadamente para garantir que estão prontos para ser iniciados sem interrupções.

  • Desenvolvimento: Criar containers para um serviço específico sem afetar outros serviços em execução.

Considerações Finais

O docker compose create oferece controle detalhado sobre a criação de containers, permitindo que você configure e verifique seu ambiente antes de executá-lo. É uma ferramenta essencial para desenvolvedores e administradores de sistemas que precisam preparar ambientes Docker com precisão, garantindo que os containers estejam configurados corretamente antes de serem iniciados.

Last updated