O Docker é uma das melhores plataformas para o deploy de uma aplicação. Para entender sua funcionalidade, confira esse artigo em nosso blog!

A evolução do deploy de uma aplicação passou por vários processos. Inicialmente tínhamos um servidor físico para cada serviço, ou seja, havia um servidor, um sistema operacional e uma aplicação. Isso gera um aumento em manutenção de hardware, de atualização de patches de segurança ou upgrade da aplicação. Com a virtualização criamos uma camada de abstração do hardware, ou seja, podemos em UM hardware ter vários SOs, e consequentemente várias aplicações. Contudo a necessidade de gerenciamento do SO ainda existe (e ainda existe o SO do próprio hypervisor). Por fim chegamos ao container, ele eleva a abstração para o SO. Isto é, conseguimos abstrair o hardware e o sistema operacional, e deixar o container apenas para cuidar da aplicação. Nesse artigo vamos entender sobre o Docker.

Imagem de representação de contenerização e virtualização
Conteinerização vs Virtualização

Entendendo Docker

O Docker é uma plataforma que facilita o deploy de uma aplicação, dentre elas a mais importante é o Docker engine que faz o intermédio com o SO para gerenciamento dos containers. Existem também o Docker swarm, o Docker compose e o Docker hub.
Por conta da agilidade de seu deploy, ele se torna uma ferramenta poderosa para o ciclo de entrega contínua, pois se garante que as características que foram utilizadas em dev serão replicadas na sua totalidade para o ambiente de produção. Fora que a economia de recursos, acesso a imagens já customizadas pela comunidade (via docker hub) e gerenciamento facilitado, eleva as vantagens para a utilização.

Na AWS o Fargate é um serviço serveless em que, além de toda a facilidade de absorção de camadas, ele absorve inclusive o gerenciamento do sistema operacional, e da camada de container como um todo.
Nesse post, vamos focar na instalação do Docker como IaaS, e na utilização de um serviço de tacacs (aaa para dispositivos de redes).

Instalação (centos8)

Instalaremos o docker, e depois realizaremos o pull de uma imagem do tac_plus para servir como servidor de autenticação para nossos equipamentos.
1 – Remova todas as versões de docker que possam estar habilitadas:

2 – Desabilite o firewalld (por algum motivo ele impossibilita a resolução de DNS dentro dos containers):

3 – Adicione o repositório do docker:
dnf config-manager –add-repo=https://download.docker.com/linux/centos/docker-ce.repo
4 – Instale o docker. Percebam que aqui vamos utilizar a opção ‘nobest’, isso é necessário para as versões do CentOS 8, pois essa versão (até o momento) possui uma incompatibilidade com o deamon do container (containerd.io).

5 – Habilite o docker no sistema:

6 – Teste o docker validando a versão:

Comandos básicos

Com o Docker instalado vamos agora falar de alguns comandos básicos:

  • docker ps -a: Mostra todos os containers, tanto os em execução quanto os parados.
  • docker run: Executa um container com uma imagem específica (no nosso caso o Hello-Worl
  • docker start|stop: Inicia um (ou mais) containers parados, ou para um (ou mais) containers ativos.
  • docker rm: Remove um (ou mais) container. (você pega a lista com o docker ps -a)
  • docker rmi: Remove um (ou mais) imagens. (você pega a lista com o docker images)
  • docker container prune: Remove todos os containers que estão parados.
  • docker images: Mostra todas as images que você já fez o pull
  • docker exec -it: Roda um comando dentro do container (só o exec), e com a opção “-it” você aloca um tty dentro do container, ou seja, é a opção para ter acesso a console do container. exemplo: docker exec -it hello-wold bash
  • docker network ls: Lista todas as redes criadas no Docker
  • docker run: executa
  • Subindo uma:

    That’s all folks! Be Happy!!!

    Saiba tudo sobre containers! Confira nossos artigos sobre microsserviços e container!

OUTRAS PUBLICAÇÕES

Como reduzir custos com o Instance Scheduler?

Uma das principais preocupações das empresas ao trabalhar em um ambiente em cloud é a questão dos custos. Pensando nisso, nossos #cloudspecialists Flávio Rescia e Gustavo Lima prepararam um artigo completo sobre como podemos reduzir custos utilizando o AWS Instance Scheduler!

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações