DEV Community

Glaucia Lemos for Microsoft Azure

Posted on • Updated on • Originally published at dev.to

Introdução a Docker - Conceitos Básicos

docker.png

artigo originalmente escrito pelo Chris Noring - AQUI

No mês passado realizamos uma votação, tanto no Twitter como no Facebook qual seria o tema que todos vocês gostariam de aprender. E Docker foi o tópico mais pedido e solicitado em ambas as plataformas!

E hoje estaremos iniciando mais uma série de artigos sobre Docker explicando desde conceitos básicos até conceitos mais avançados. Essa série de artigos foi baseado nos posts do meu grande amigo Chris Noring, que também é um Cloud Advocate e uma pessoa extremamente apaixonado por tecnologias Open Source assim como eu!

Com isso, nos unimos e vamos realizar essa série de posts especialmente a todos vocês! Porém, além dos artigos escritos por ele, estarei realizando vídeos sobre cada tópico ensinado e com um pouco mais de conteúdos para endossar ainda mais a nossa série!

Vamos nessa?!

O que é Docker?!

Essa é uma pergunta bastante interessante e vou tentar resumir para todos vocês!

Docker é um projeto Open source que tem como objetivo automatizar a implantação de aplicativos como contêineres e que possam ser executados na nuvem ou até mesmo localmente!

A parte mais interessante do Docker é que ele implementa contêineres em todas as camadas de uma nuvem híbrida. Entre elas, o Azure.

image-2.png

E outro ponto muito interessante: você pode executar os contêineres de imagens tanto no Linux, Windows e MacOs.

Acho que já deu para entender bem o que é Docker não é mesmo?! Caso queiram saber mais detalhes, bastam acessar o link AQUI

No decorrer dessa série estarei disponibilizando: links, recursos, e-books gratuitos como material e leitura recomendada sobre o assunto! Pois não existe nada melhor do que aprender uma nova tecnologia através de livros e documentações!

Recursos Necessários para seguir na série: 'Aprenda Docker - Zero to Hero'

Não existe um requisito obrigatório para seguir na série. Até porque a intenção dessa série é ensinar todos vocês a usarem Docker!

Porém, vamos precisar usar alguns recursos necessários que precisaremos baixar e para que assim, possamos dar continuidade a série. São eles:

  • Download Docker Community Edition CE: precisaremos baixar o Docker Community para aprendermos a realizar os comandos desde os mais básicos até os mais avançados! Essa versão é gratuita e podem baixar sem nenhum problema (tanto para usuários: Windows, Linux e MacOs)

  • Conta no Azure - Grátis: ao decorrer dessa série, estaremos testando algumas imagens e contêineres na nuvem. E nesse caso precisaremos usar um serviço de nuvem. Nesse caso usaremos o Azure.

  • Azure For Students - Grátis: caso você seja estudante de alguma Instituição de Ensino - Faculdade ou Universidade e tiver alguma conta de e-mail da sua Faculdade, tenho uma boa notícia para você! Você pode obter uma conta totalmente gratuita do Azure for Students sem necessidade de ter um cartão de crédito e já ganha de imediato um saldo de USD 100.00 para usar os serviços Azure por 12 meses! #ficaadica

  • Node.js: conforme formos avançando na série, iremos usar alguns exemplos de como implementar uso de imagens e contêineres em aplicações Node.js.

  • Visual Studio Code: como haverá exemplos em código, vamos usar o Visual Studio Code para desenvolver nossas aplicações.

  • Extensão Docker - Vs Code: estaremos usando extensão do Docker que será muito importante para quem usa o Visual Studio Code.

  • Extensão Azure Tools - Vs Code: como estaremos usando o Azure, nada melhor do que usar uma extensão integrada ao Visual Studio Code para facilitar na hora de criar uma imagem ou conteiner integrado ao Azure de maneira simples, rápida e dinâmica!

Depois de configurar todo o seu ambiente de desenvolvimento e estiver tudo certinho, já podemos dar prosseguimento a série!

Por que usar o Docker?!

O Docker nos ajudará a criar um ambiente executável. E sem contar que você será capaz de especificar o sistema operacional que deseja usar, a versão exata de diferentes bibliotecas, diferentes variáveis de ambiente e seus valores, entre outros pontos muito importantes. Porém, o ponto mais importante é que você será capaz de executar a sua aplicação isoladamente dentro desse ambiente.

Alguns pontos que nos faz pensar o motivo em usarmos Docker:

  • onboarding: todas as vezes que uma equipe for receber um(a) novo(a) desenvolvedor(a), precisará configurar, instalar programas, SDK's, ferramentas de desenvolvimento, banco de dados, adicionar permissões, entre outros pontos. E isso é algo que pode levar dias ou até mesmo semanas. Porém, quando o time de desenvolvimento já possui uma imagem via Docker de todos os recursos necessários que aquela pessoa desenvolvedora precisará para começar a desenvolver, com apenas um docker run já será mais do que suficiente para instalar tudo em questão de minutos! E isso agiliza bastante o processo de onboarding do novo(a) desenvolvedor(a).

  • possuem ambientes de desenvolvimento padrão: sim! Esse ponto é interessante! Pois usando o Docker, você poderá criar um DEV Staging, bem como um ambiente de produção que sejam padronizados e iguais a todos! E isso é algo maravilhoso! Já que o Docker/ container você poderia ter ambientes que fossem semelhantes, mas que haveria pequenas diferenças e quando você for tentar descobrir um determinado bug da sua aplicação, com certeza gastaria muito tempo procurando o problema principal do bug. E muitas das vezes o bug está no código fonte, mas devido a alguma diferença no ambiente, você pode levar muito tempo para determinar a causa do problema. Com o Docker facilitará muito a equipe de desenvolvimento nessas situações, que por sinal, são situações muito comuns no dia-a-dia.

  • Ah... na minha máquina funciona: usando o Docker container, essa frase jamais será usada. Sabe por que?! Porque como o Docker cria esses contêineres isolados, a qual você especificará exatamente o que eles devem ter, você poderá enviar contêineres para os clientes e eles executarão da mesma maneira como executa no ambiente de desenvolvimento/produção!

Instalando Docker

Agora que já entendemos os conceitos básicos sobre Docker & Contêiner, vamos instalar o Docker na nossa máquina.

A primeira coisa que precisamos fazer é rodar o Docker Community Edition CE. Caso você seja um usuário Windows e não saiba como instalar o Docker de maneira correta na sua máquina, há um vídeo tutorial que ensina passo a passo como fazer através do link abaixo:

📺 Instalando o Docker no Windows 10

Depois que instalar o Docker corretamente na sua máquina deverá aparecer as infos conforme o gif abaixo:

gif-24a53d4bbf688045d.gif

Se tudo estiver funcionando assim como no gif acima, então estamos preparados para desenvolver uma aplicação usando Docker!

Palavras Finais

Conforme citado acima, estaremos ajudando a todos(as) vocês a entenderem sobre Docker - desde conceitos básicos até conceitos mais avançados e com isso, estaremos disponibilizando links, conteúdos e cursos grátis que possam complementar os estudos de todos.

Abaixo segue alguns desses recursos:

Outro ponto importante, sempre depois de escrever um post, estarei disponibilizando um vídeo no meu Canal do Youtube explicando e ensinando via vídeo. Pois há pessoas que gostam de aprender uma nova tecnologia por meio de vídeos.

Caso queiram saber o calendário de vídeos, estarei disponibilizando por meio do repositório do GitHub AQUI

Caso tenham alguma dúvida referente aos posts, podem deixar as suas dúvidas nos comentários abaixo e caso queiram dar sugestões, por favor,também nos avise! Pois essa série é feito para todos(as) vocês da Comunidade!

No próximo post, estarei explicando como desenvolver uma aplicação Node.js com Express usando o Docker. Será um post mais hands-on! Assim que aguardem!

E para ficarem por dentro dessa e de outras novidades, me sigam no twitter!

Twitter

Até a próxima pessoal!

Top comments (6)

Collapse
 
ucavalcante profile image
Ulisses Cavalcante

Legal vou ficar de olho nessa série.

Collapse
 
glaucia86 profile image
Glaucia Lemos

:)

Collapse
 
diegurm profile image
diegurm

Massa, estava procurando um conteúdo pra iniciar os estudos em docker.
Vou acompanhar a série. :)

Collapse
 
glaucia86 profile image
Glaucia Lemos

:D

Collapse
 
igorsf78 profile image
Igorsf78

Glaucia, boa tarde! Tem previsão para liberar os videos? Obrigado

Collapse
 
glaucia86 profile image
Glaucia Lemos

Voltarei para essa série no próximo mês. Então muito em breve! :)