Docker vs Docker Compose - Full Cycle FullCycle

Voltar

Wesley Willians

Docker vs Docker Compose

7 min de leitura

Como alguns aqui já devem saber, o Docker é uma plataforma que disponibiliza diversos serviços baseados em containers. Como esses pacotes integram softwares, bibliotecas, arquivos de configuração e outras coisas relacionadas, é comum surgirem dúvidas sobre os aspectos e diferenças entre esses serviços, as suas funções e aplicabilidades.

  • Docker Host

O Docker Host é um dos principais serviços da plataforma, sendo o ponto central de criação e gerenciamento de containers. Como o host é o servidor que faz tudo funcionar, ele contém integrações como o cache e o registro de imagens dos sistemas que nós trabalhamos.

  • Docker CLI

Quando você está no seu terminal e começa a executar comandos como “docker run”,  “docker exec”, “docker rmi” ou qualquer coisa desse tipo, essa é a sua interação com a interface de comandos (Command Line Interface) como um cliente desse serviço.

Então qualquer comando que você escreve com o Docker CLI é executado pelo Docker Host.

  • Docker Compose

Executar funções no Docker também pode exigir que as nossas aplicações utilizem mais de um container, então às vezes é necessário criar bancos de dados, com cache, Redis, etc.

Gerenciar todas essas funções pode ser muito trabalhoso, já que para rodar o Docker é necessário ajustar as portas, as variáveis de ambiente, o framework que ele vai utilizar e os volumes. E como tudo isso deve ser feito para cada container que estiver trabalhando em conjunto com a sua aplicação, isso é claramente uma tarefa muito complexa e improdutiva.

Pensando em resolver esse problema o Docker Compose é uma solução multi-container que utiliza um arquivo declarativo para definir os serviços que você quer rodar, sendo que cada serviço é basicamente um container que você pode executar.

Através desse arquivo declarativo é possível executar as nossas aplicações com base em determinados containers, compartilhamento de volume, redes, bancos de dados feitos na imagem que ele vai baixar para rodar, expor as portas, etc.

  • Swarm Mode

Depois de algumas versões, o Docker Compose também integra uma ferramenta chamada Docker Swarm e pode ativar o Swarm Mode, um modo onde é possível subir, orquestrar e gerenciar ainda mais containers para trabalharmos com stacks, etc.

Em resumo, essas são as diferenças entre Docker Host, Docker CLI e Docker Compose.

  • O Docker Host é o servidor que faz tudo funcionar.
  • O Docker CLI é utilizado para executar múltiplos comandos no Host.
  • O Docker Compose serve para gerenciar múltiplos containers.

E você já conferiu o conteúdo do nosso canal? Veja também os 4 tipos de sistemas monolíticos.

Se você curtiu esse conteúdo e quer aprender mais sobre Docker , solicite contato clicando aqui e nós te ajudamos.