Guia do Docker: Primeiros Passos

SPIRIT > Tutoriais  > Docker  > Guia do Docker: Primeiros Passos

Guia do Docker: Primeiros Passos

A virtualização trouxe vários benefícios para os ambientes de TI mas é possível obter mais segurança, performance e agilidade com containers. Neste primeiro artigo da trilogia sobre Docker, vamos aprender mais sobre este sistema e como instalá-lo no Debian 9, dando continuidade a prática da cultura DevOps.

1. Introdução: O que é o Docker?

O surgimento de máquinas virtuais permitiu um ganho significativo de escala e a migração da TI para as nuvens, mas seu uso ainda requer um tempo considerável, muita intervenção manual e reserva de recursos para cada host.

Já o Docker, plataforma de código aberto, criada pelo Google e desenvolvida na linguagem Go, implementa a tecnologia de containers. De alto desempenho, o software garante maior facilidade na criação e administração de ambientes isolados, garantindo um deploy mais ágil das aplicações.

Seu objetivo é criar, testar e implementar aplicações em um ambiente separado da máquina original. Dessa forma, o desenvolvedor consegue abstrair a infraestrutura e empacotar o software de maneira padronizada, criando micro-serviços.

2. Benefícios do Docker

Portabilidade

O container, que é um ambiente separado da máquina original, pode depois então ser executado em qualquer servidor que tenha o Docker instalado. Isso ocorre porque a plataforma leva consigo as funções básicas para sua execução, como código, bibliotecas, runtime e outras ferramentas do sistema.

Em outras palavras,é possível desenvolver, empacotar uma vez e executar em qualquer lugar! No decorrer da trilogia vamos demonstrar isso na prática para vocês.

Performance

Em uma comparação com a virtualização convencional, é possível fazer um deploy até 7 vezes mais rápido, já que não precisamos migrar toda a máquina virtual. Além disso, máquinas full virtualizadas são iniciadas da mesma forma que uma máquina física, necessitando do carregamento de todos os recursos de hardware e de software enquanto a paravirtualizada carrega somente o que não possui. O restante ela pega da máquina que já está ligada, reduzindo tanto o tempo de boot como a concorrência por recursos de hardware.

Automação

Ok, mas se o Docker usa as mesmas tecnologias que o LXC, XEN e OpenVZ, qual a grande diferença entre eles? Automação! O ToolKit que acompanham o Docker,  com ferramentas como Dockerfile, Docker-Compose e Docker-Swarm, faz o show acontecer, permitindo a orquestração e escalonamento horizontal em tempo recorde.

Versionamento

Além de agilizar os processos, um container Docker torna mais fácil o acesso a uma versão anterior, trazendo mais segurança e performance também para a equipe.

3. Instalação do Docker no Debian 9

Execute os passos a seguir com o usuário root. Atualize seu repositório de pacotes

# apt-get update

Agora instale os pacotes extras necessários para a adição do novo repositório do Docker

# apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common

Faça o download e instalação da chave de segurança do repositório do Docker

# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

Instale o novo repositório Docker no servidor

# add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

Atualize novamente o repositório

# apt-get update

Instale o Docker

# apt-get install docker-ce docker-ce-cli containerd.io

Teste se o Docker foi instalado com sucesso, executando os comandos:

# docker ps  

# docker –version

4. Conclusão

Neste artigo fizemos uma introdução a tecnologia de container, implantada pelo Docker, suas principais vantagens e como instalá-lo em seu servidor.

Nos próximos artigos conversaremos sobre o uso prático do Docker, sobre a criação de Dockerfiles, arquivo txt que contém todos os comandos usados para criar uma imagem de container e sobre o Docker-compose, ferramenta para definir e executar aplicações em múltiplos containers.

Giovani Balarini

Giovani Balarini é analista de segurança nível 2 e é forte adepto das metodologias ágeis como DevSysOps. Sua linguagem principal é Python, é praticante de basquete e dá suas voltas de patins nos finais de semana.

No Comments

Deixe uma resposta