Introdução e Utilização do Docker

Este artigo traz um estudo introdutório sobre a tecnologia de empacotamento de aplicações em forma de contêineres, rodando-os de maneira isolada do sistema, utilizando a ferramenta Docker. O texto e os exemplos aqui citados (DHCP e DNS server), tratarão como base o sistema operacional GNU/Linux instalados no host, especificamente, distribuições baseadas em Debian. Nas teorias, utilizamos o Debian Buster e nos exemplos de DHCP e DNS Server, utilizamos o Kali Linux, versão 2019.3.

[ Hits: 8.876 ]

Por: Hugo De Oliveira Santos em 26/09/2019 | Blog: https://www.linkedin.com/in/hugo-de-oliveira-santos-05910550/


Sobre o Docker



Docker é uma ferramenta open source que permite a criação e a manipulação de contêineres, os quais contém aplicações e as suas dependências, fornecendo uma camada de abstração de virtualização a nível de sistema operacional, tornando as operações em uma infraestrutura mais flexíveis e eficientes, aumentando a portabilidade das aplicações e suas bibliotecas em conjunto, reduzindo o tempo de distribuição (deploy) de uma infraestrutura ou de uma aplicação, pois não há necessidade de ajustes de ambiente de execução para o correto funcionamento do serviço, não importando o sistema que está rodando, já que o contêiner contém as bibliotecas e os binários empacotados para rodar as aplicações e o sistema próprio, aproveitando apenas a infraestrutura do kernel do sistema operacional do host.

Configure-o uma vez e replique-o quantas vezes quiser. Uma vez que sua aplicação seja transformada em uma imagem Docker, que nada mais é que um pacote executável que contém tudo que é necessário para rodar aplicações e sistemas, e é a partir dela que o contêiner pode ser iniciado.

Portanto, podemos iniciar um contêiner em qualquer ambiente, bastando ter o serviço do Docker rodando no host e a disponibilidade de uma imagem base para o contêiner.
Linux: Introdução e utilização do Docker

Em seu lançamento, como código aberto, o Docker utilizava em seu back-end o LXC (Linux Contêineres), que funciona isolando processos do sistema operacional do host, utilizando o mesmo Kernel, fazendo com que a sua sobrecarga seja menor que, por exemplo, uma máquina virtual, que necessita de um hipervisor para seu controle, além de consumir muito mais recursos de hardware e necessitar de um kernel próprio.

A partir da versão 0.9, o LXC foi substituído pela sua própria biblioteca, desenvolvida na linguagem Go, trabalhando agora de maneira independente do LXC, podendo acessar as APIs de contêineres do kernel diretamente, como explicado no artigo do Blog Docker Hykes, 2014.
Linux: Introdução e Utilização do Docker
Linux: Introdução e utilização do Docker
O uso de contêineres são, portanto mais leves, se comparados à máquinas virtuais completas, já que não precisam de um ambiente virtual completo, visto que o kernel do host proporciona o gerenciamento de memória e outros recursos de hardware.

Para maiores informações sobre contêineres, confira este artigo da RedHat.

O Docker facilita a comunicação entre desenvolvedores e administradores de sistemas (sysadmins), possibilitando o planejamento da infraestrutura mais simplificado, construindo arquivos com as definições necessárias e os parâmetros de como a aplicação será disposta nesse ambiente, em qual porta fornecerá seu serviço, e outras necessidades.

A ferramenta também disponibiliza uma nuvem pública para compartilhamento de ambientes prontos (imagens), sejam eles produtos oficiais, ou da comunidade, que podem ser utilizados para viabilizar customizações para ambientes específicos. Visto que qualquer pessoa pode subir uma imagem customizada, é importante ter atenção na documentação e nos itens que acompanham as imagens, por questões de segurança.

Para maiores informações sobre o funcionamento do Docker, temos um artigo bem completo que pode ser encontrado no Medium Kasireddy, 2016.

Instalação do Docker

Como o repositório do Docker atualmente utiliza o protocolo HTTPS, e não vem como padrão no Debian, tendo que instalar algumas dependências, utilizaremos a instalação via script, que é mais simplificada.

Para este artigo, utilizaremos o sistema operacional Debian. Para outras versões GNU/Linux, Windows, ou MacOS, ou instalação via repositório, o passo a passo de instalação pode ser encontrado no endereço:
Em um Debian Stretch ou superior, no terminal, com acesso root, execute o comando abaixo:

# curl -fsSL https://get.docker.com -o get-docker.sh
# sh get-docker.sh

Acompanhe os scripts do terminal para analisar os processos e mensagens da instalação. Caso queira utilizar o Docker como um usuário comum (non-root), adicione o usuário ao grupo "docker":

sudo usermod -aG docker usuário

Após finalizar, execute o comando abaixo para testar a instalação:

docker version

Se tudo estiver correto, será exibida a versão que está sendo executada no host.

    Próxima página

Páginas do artigo
   1. Sobre o Docker
   2. Execução e Controle de Contêineres
   3. Utilizando volumes
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Rodando contêineres e aplicações Linux x86 no Raspberry Pi

Principais Comandos Básicos do Docker-CE

Configurando Docker Swarm no Rocky Linux

Pods com Podman

Inicializando servidor Ubuntu na AWS e rodando apache em Container

  
Comentários
[1] Comentário enviado por fabio em 26/09/2019 - 14:10h

Muito bem escrito o artigo, meus parabéns!

[2] Comentário enviado por olshugo em 26/09/2019 - 16:04h


[1] Comentário enviado por fabio em 26/09/2019 - 14:10h

Muito bem escrito o artigo, meus parabéns!


Muito obrigado!

[3] Comentário enviado por thomasddiego em 27/09/2019 - 02:20h

O artigo ficou excelente Hugo, parabéns!!!

[4] Comentário enviado por olshugo em 27/09/2019 - 08:13h


[3] Comentário enviado por thomasddiego em 27/09/2019 - 02:20h

O artigo ficou excelente Hugo, parabéns!!!


Obrigado Thomas, espero que tenha ajudado!

[5] Comentário enviado por CleyberSec em 30/09/2019 - 14:45h

Seu artigo me esclareceu em muitas dúvidas, valeu d+. Muito boas as referências. Parabéns!

[6] Comentário enviado por amaurybsouza em 30/09/2019 - 15:56h

Show de bola seu artigo, eu estou aprendendo Docker e ajudou muito.

[7] Comentário enviado por diegomrodrigues em 31/03/2020 - 22:18h

Parabéns!
A utilização de volumes ajuda muito no Docker.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts