O que é Docker?

Docker é uma plataforma de código aberto, cuja a utilização é a virtualização em nível de sistema operacional para criar e gerenciar contêineres. Além disso, a plataforma é escrita em GO (linguagem de programação de alto desempenho) na qual facilita administração de ambientes isolados.

Em muitos sites, você poderá encontrar outras definições do que é docker. Mas no senso comum, o Docker é uma ferramenta que trabalhará com contêineres.

Criação

O Docker foi desenvolvido em 2013 por uma empresa chamada dotCloud, Inc (que futuramente se chamará Docker, INC) com a necessidade de melhoramento da grande demanda de máquinas virtuais. A criação das máquinas virtuais dependiam de grandes espaços de discos e outros recursos e ainda havia a questão das aplicações, que poderiam serem corrompidas em algumas situações pelas próprias máquinas virtuais. Com isso, houve a necessidade desenvolver um sistema e assim surgiu o LXC.

O LXC foi criado em 2008 e é uma tecnologia que trabalha com a criação de instâncias isoladas de um sistema operacional dentro da máquina hospedeira. Ou seja, a base do docker começou a ser desenvolvida. Com sua facilidade de uso, o mercado obteve uma rápida adoção dessa tecnologia. Contanto que houve um “boom” nas empresas após mostrar que o desenvolvedor conseguiria colocar suas aplicações diretamente do notebook para a produção.O LXC foi criado em 2008 e é uma tecnologia que trabalha com a criação de instâncias isoladas de um sistema operacional dentro da máquina hospedeira. Ou seja, a base do docker começou a ser desenvolvida. Com sua facilidade de uso, o mercado obteve uma rápida adoção dessa tecnologia. Contanto que houve um “boom” nas empresas após mostrar que o desenvolvedor conseguiria colocar suas aplicações diretamente do notebook para a produção.

Mercado

O Docker é a terceira plataforma mais utilizada pelos desenvolvedores no mundo. Empresas como Microsoft, Google, Red Hat (IBM) começaram a utilizá-lo em meados de 2014. O investimento dessas grandes empresas na comunidade de desenvolvimento, ajudou com que a ferramenta melhorasse a cada a dia mais. Com isso, desenvolvedores, sysadmin e até mesmo os DBA’s usam docker em suas squads e projetos.

O Docker é a terceira plataforma mais utilizada pelos desenvolvedores no mundo. Empresas como Microsoft, Google, Red Hat (IBM) começaram a utilizá-lo em meados de 2014. O investimento dessas grandes empresas na comunidade de desenvolvimento, ajudou com que a ferramenta melhorasse a cada a dia mais. Com isso, desenvolvedores, sysadmin e até mesmo os DBA’s usam docker em suas squads e projetos.

O Stack Overflow, na pesquisa sobre os interesses dos desenvolvedores, disse que Docker e Kubernetes eram as plataformas mais amadas e procuradas entre os entrevistados. Com isso, move-se tendências futuras no mercado.

O Docker já é uma realidade no mercado brasileiro. Basta uma breve pesquisa no linkedin e você já terá resultados de vagas que incluem ao técnico experiência ou convívio com Docker e tecnologias que envolvem contêiners.

Como funciona o Docker?

O Docker usa o kernel do linux e seus recursos criar processos, esses recursos são Cgroups, Namespaces e UnionFS. Com isso o Docker consegue criar imagens preexistentes. As imagens, podem ser imutáveis e apresentar diversas camadas, as quais podem ser compartilhadas entre si. Através de cada imagem, é possível criar contêineres. Dentro de cada contêiner, existirá um sistema operacional que compartilhará o kernel com a máquina hospedeira.

Quando um contêiner é criado, seus processos ficam isolados de sua máquina hospedeira através dos namespaces (é ai que muitas pessoas acabam o comparando com máquinas virtuais, mas não se engane: é diferente). Você consegue verificar o quanto é isolado sua aplicação, observado que consegue visualizar os processos dentro da sua máquina hospedeira para o contêiner, mas não do contêiner para sua máquina hospedeira.

Funcionalidades do Docker

• Versionamento – O Docker permite que você versione as alterações de seus contêineres da mesma forma que o GIT. Ou seja, você fazer commit,rollback e até mesmo observar a diferença entre versões.
• Compartilhamento – Com o Docker hub, você pode imaginar como se fosse o github, mas de contêineres. Há diversos contêineres com aplicações configuradas nas quais você poderá baixar. Como já falamos de versionamento, ou seja, você conseguirá criar seu contêiner e depositá-lo no docker hub para outras pessoas usarem.
• CLI –O command Line Interface permite que você crie scripts e programas nos quais interagem com os serviços do Docker.
• Open Source – Licenciado pelo Apache, você poderá ter acesso aos códigos-fonte disponíveis>
• Alta Performance – Você poderá criar imagens e baixar imagens prontas de outras pessoas em questões de segundos. Em pouco tempo, você conseguirá ter um ambiente que deseja de forma que exija poucos recursos de sua máquina.

Docker ou Maquina Virtual?

Essa é uma das perguntas mais frequentes que os novos usuários de docker fazem.

A resposta é bem simples: Depende o que você vai fazer. Em algumas circunstâncias, a máquina virtual será essencial para seu projeto, tanto quanto o docker.

Como já dito acima, o maior problema das máquinas virtuais, são os gastos que elas podem causar. Hoje com a computação em cloud, tudo ficou mais barato. Mas mesmo assim, para alguns tipos de aplicações, a locação dessas máquinas nas nuvens seriam puro desperdício de dinheiro.

Docker oferece um ambiente isolado, no qual estarão uma aplicação e todas as suas dependências. Dependendo do projeto, pode ser envolvidos Binários, bibliotecas entre outros arquivos. O Isolamento de aplicações em um mesmo host, significa deployments muito mais seguros.

Mas então, Docker Vale a Pena?

Se você estiver procurando um ambiente seguro, escalável e que possa trabalhar de forma segura com suas aplicações, a resposta é bem simples: Sim, Docker vale a pena. Com todas as suas contribuições no mundo de hoje, é quase impossível não recomendar uma ferramenta tão completa quanto o Docker.


Você gostou deste artigo?

Veja outros que temos:

Fique por dentro das novidades:

Conheça nosso blog, com diversos artigos técnicos

Fique por dentro das novidades relacionadas aos softwares open source usado em nossas soluções.
Imagem de uma pessoa na frente do computador

Quer entrar para o mundo Devops?

Faça nossos cursos starter, todos com certificado de conclusão!

Somos especialistas em implementar soluções Containers

Desde a definição de arquitetura, planejamento de capacidade até o mentoring da equipe.
Telegram logo
Whatsapp Logo

Temos um presente para você!

Você ganhou totalmente gratuito um curso da categoria Starter da 4Linux! São 9 opções de cursos para você escolher!

Cursos com 20h de conteúdo prático e certificado de conclusão para você dar uma upgrade na sua carreira.

Preencha o formulário abaixo e você receberá em até 24hs o email com os dados de acesso ao conteúdo: