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.