O que é Docker?

Apesar do termo ‘container’ ter se popularizado nos dias atuais – em boa parte graças ao sucesso da ferramenta Docker – o conceito já era empregado há tempos com utilizações de containers Linux e em muitos casos de containers Java (JVM) principalmente para aplicações web, como utilizado nas plataformas JBoss e Wildfly.

Surgimento

Originalmente o Docker surgiu em 2013 quando Solomon Hykes, fundador e CEO da dotCloud, realizou uma palestra na ‘Python Developers Conference’ em Santa Clara, Califórnia. Poucas semanas após a palestra, o projeto se tornou open source e através do Github teve contribuições de centenas de desenvolvedores que ajudaram a melhorar e disseminar a tecnologia que foi disruptiva para o mercado de TI, mudando a forma de como as aplicações são disponibilizadas, dando praticidade, portabilidade e agilidade.

Benefícios

Inicialmente é muito comum que o conceito do Docker seja confundido com o de máquinas virtuais devido à cultura e metodologia de trabalho utilizada durante anos, porém o Docker é muito mais que um provisionamento virtual e com uma proposta bem diferente. Enquanto uma máquina virtual é feita para perdurar durante um bom tempo, mesmo que a fluidez de provisionamento seja rápido e que se utilize de plataformas em cloud para criar e deletar máquinas, o container Docker já nasce com o propósito de ser substituível em um certo momento, em um novo deploy ou até mesmo em minutos após a execução de uma única tarefa.

Justamente essa volatilidade do container o faz eficaz, pois com o Docker você não precisa se preocupar com bibliotecas do sistema operacional, drivers, partições e etc, o Docker possui um repositório de imagens públicas em cloud, o DockerHub, em que é possível criar um container quase que instantaneamente através do comando “docker run” e dizendo qual imagem Docker este container deve utilizar para realizar o set up.

Existem diversas imagens enxutas, desde sistemas operacionais contendo somente o mínimo necessário para uma aplicação ser executada, até imagens com serviços já instalados para serem utilizados como o caso da imagem “httpd:2.4” que traz um sistema operacional Linux Alpine com o serviço Apache HTTP instalado.

Este tipo de funcionalidade traz fluidez e agilidade para os processos de deploy, porém deve ser levado em consideração que aplicações que serão aplicadas em containers já devem ser estruturadas com o conceito “stateless”, que são aplicações que não guardam o estado da aplicação e nem dados dentro do container, pois caso contrário inviabilizaria uma das principais vantagens da utilização do Docker que é a versatilidade para se encerrar o container em caso de problemas ou novas atualizações na aplicação.

Os profissionais e as empresas estão buscando maior facilidade e agilidade para o provisionamento de ambientes e deploy de aplicações, as vezes até sem a necessidade de uma interação humana diminuindo a probabilidades de erros e a confiabilidade de execução, pois com o uso de containers, tem-se a garantia de que dentro do container existirá somente o que é necessário e tudo o que é preciso para que a aplicação seja executada.

Se você está interessado no assunto ‘containers docker’, você está no caminho certo para melhorar sua empregabilidade pois os containers estão fazendo uma transformação implacável em como os aplicativos são criados, entregues e implantados nas empresas. Eles estão no ‘coração’ da transformação digital das empresas. A adoção de containers está sendo vertiginosa e com uma velocidade avassaladora. Diferentes pesquisas mostram que mais da metade das empresas entrevistadas pretendem migrar suas aplicações para containers irão alocar um orçamento maior para isso.

As pesquisas também mostram que os gastos com containers aumentarão aproximadamente 35% ao ano até 2021. Mas se os números de crescimento do Docker impressionam, os de Kubernetes (orquestrador de containers) são ainda maiores. Não precisa nem falar que os profissionais que conhecem containers serão super valorizados.

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.

Quer entrar para o mundo Devops?

Conheça nosso curso online de Devops gratuito!

Quer receber todos os cases da 4Linux em formato de E-book?

Ele pode servir de inspiração ou rumo para o seu próximo projeto utilizando software open source.