Docker – Porque é esta uma tecnologia tão popular?
Com os avanços tecnológicos, têm aparecido soluções cada vez mais eficientes que garantem a melhor performance das plataformas. Depois da virtualização, a tecnologia de containers tendo vindo a ganhar espaço e popularidade e é aí que encontramos o Docker.
Hoje vamos fazer um breve introdução a esta tecnologia e descobrir porque se está a tornar tão popular.
Docker, o que é?
Para quem não conhece, o Docker é uma plataforma Open Source de desenvolvimento, provisionamento e execução de aplicações que tem como base a linguagem de programação em Go da Google. Esta plataforma tem como principal objetivo facilitar a criação e gestão de ambientes isolados com recurso à tecnologia de containers.
O Docker tem vindo a ganhar muita popularidade pelo facto de permitir "empacotar" uma app ou sistema dentro de um container (ambiente isolado), sendo que este container pode posteriormente ser executado em qualquer máquina que tenha o Docker instalado.
Para quem faz administração de sistemas, esta é uma característica bastante interessante uma vez que o administrador pode configura uma única vez um serviço e consegue executa-lo em qualquer sistema (sem complicações).
As vantagens são mais que muitas, até porque desta forma o tempo de deploy é bastante reduzido comparativamente a outras soluções (ex. virtualização) e uma solução criada em Docker é altamente portável (conceito: Desenvolve uma vez... executa em qualquer lugar).
Por exemplo, enquanto num sistema de virtualização tradicional nós temos um sistema operativo isolado, no caso do Docker, mais concretamente ao nível dos containers, nós temos recursos isolados que fazem uso de bibliotecas do próprio kernel do sistema operativo nativo. Isto significa que conseguimos obter uma melhor performance, comparativamente à virtualização, e em termos de aplicações mais pequenas (já que não temos que levar toda a máquina virtual para outra máquina nativa).
Num próximo tutorial iremos ensinar a instalar e a usar a tecnologia Docker. Iremos também apresentar o Docker Swarm que é uma ferramenta nativa do Docker, direcionada para clusters, que disponibiliza uma interface de gestão que simplifica todo o processo de gestão. Com o Docker Swarm o deploy de containers é simplificado, permitindo assim ter várias máquinas (no cluster) e distribuir serviços pelas mesmas. Estejam atentos.
Saber mais aqui.
Leia também...
Este artigo tem mais de um ano
Bom tema o Docker. Obrigado. Espero pelos próximos episódios.
É o nosso desafio para este mês 🙂
Para umas boas leituras….
Learning Docker: Build, ship, and scale faster, 2nd Edition – 2018
http://longfiles.com/qgrnfjzhqvh7/Learning_Docker_Build,_ship,_and_scale_faster,_2nd_Edition.epub.html
para desenvolver os meus projectos já escrevo dockerfiles tanto para eu não me chatear com reconfigurar caso dê cabo da maquina ou para nao dar dores de cabeça a quem tentar correr as cenas que escrevo 🙂 e já numa ocasião salvou-me de dores de cabeça com dependências da nvidia
Perdoem a minha ignorância, mas o docker , não funciona como o JAVA?
Sim, podes criar containers em Java. Mas o Docker foi desenvolvido na linguagem de programação Go.
Obrigado pelo esclarecimento 😉
Alguém sabe dizer se o GhostBSD é um bom BSD pra iniciantes?
Muito bom … eu trabalho com dockerIO a 5 anos …. agora no azure esta fantástico
Desde 2014 que os projectos onde participo utilizam sempre uma arquitetura de micro-serviços baseada em docker.
Recomendo investigar também docker-compose para orquestração dos serviços, docker swarm e docker-machine.
Facilita muito do workflow de desenvolvimento, integração contínua, entrega contínua e gestão de releases
Gostei da introdução. Fico à espera de mais!
Obrigado
Parabéns ao Pedro Pinto, Leandro Fernandes, Rui Araújo e Diogo Sá pelo artigo sobre containers, algo que para qualquer profissional IT é hoje uma realidade.
Pedro, o blog já há muito que cumpria nas questões da apresentação de “coisas” de puro consumo, de perguntas básicas em forma de questionários, e outras temáticas lúdicas, mas para ter visibilidade junto do publico mais profissional, é com artigos destes, assim como o artigo sobre ElasticSearch, e venham mais destes.
Uma ideia, a de meter ali em cima nas categorias, um tipo “proIT” em que se inserem estes artigos.
Mais tarde venho aqui debater algumas ideias sobre containers 😀
Excelente… Pedro Pinto, aguardo as cenas dos próximos capítulos. Obrigado por estes artigos
Pedro,
Existe um excelente livro em Português, onde pagas o quanto quiser:
https://leanpub.com/dockerparadesenvolvedores
E o projeto do livro também é aberto no Git:
https://github.com/gomex/docker-para-desenvolvedores
E ainda temos no telegram o canal @dockerbr 😉
Abraços,
Muito obrigado 🙂
Não é sempre que conseguimos contribuir para o PPLWARE 😉
Acho antes de se ter falado de Docker, era escrever sobre Vagrant e as box mais usadas como Homestead (da laravel) e Scotchbox. Fora isso foi uma boa intro.
Isto? https://pplware.sapo.pt/tutoriais/programacao-web-12-laravel-homestead-environment/
o quero dizer poderiam falar sobre concorrente do Docker que é Vagrant. Onde Homestead é uma da Boxes / Enviorments construidos atraves do Vagrant. Outros exemplos são Homestead Improved e ScotchBox.
Bom tema!
Artigo muito lúcido. Obrigado.