Você está na página 1de 3

Trabalho Discente Efetivo sobre Docker

Resumo
Docker um software de cdigo aberto que automatiza a implantao de aplicativos,
fornecendo uma camada adicional de abstrao e automao de virtualizao de sistema de
nvel operacional. Pode ser utilizado em Linux, Mac OS e Windows.
Palavras-chave: Docker. Software. Automao. Linux. Windows. Mac. Virtualizao.
Continer.

Introduo

Docker a principal plataforma de continer de software do mundo. Os desenvolvedores


usam o Docker para eliminar o problema de limitar o trabalho apenas para uma mquina ao
compartilhar de maneira colaborativa com o cdigo com os colegas de trabalho.
O objetivo dos usurios utiliza o Docker para executar e gerenciar aplicativos lado a
lado em contineres isolados para obter uma melhor densidade de computao. J as empresas
usam o Docker para criar conexes geis de entrega de software para enviar novos recursos de
forma mais rpida, segura e com confiana para aplicativos Linux e Windows Server.

1 Docker

Os contineres simplificam tudo o que necessrio para fazer executar, um pedao de


um software, empacotado em contineres isolados. Ao contrrio das mquinas virtuais, os
contineres no agrupam um sistema operacional completo, apenas as partes que so
necessrias, bibliotecas e configuraes necessrias para que o software seja executado. Isso
torna sistemas eficientes, leves e autnomos e garante que o software sempre funcione o
mesmo, independentemente de onde ele implantado.
O Docker automatiza as tarefas repetitivas de configurar ambientes de desenvolvimento
para que os desenvolvedores possam se concentrar no que realmente importa, criar um timo
software. Os desenvolvedores que usam o Docker no precisam instalar e configurar bases de
dados complexas nem se preocuparem em alternar entre verses de ferramentas de linguagem
incompatveis. Quando um aplicativo colocado no Docker, essa complexidade empurrada
para contineres que so facilmente construdos, compartilhados e executados. Com o Docker
no preciso passar horas explicando procedimentos e configuraes sobre uma nova base de
cdigo para um colega de trabalho. O cdigo que fornecido com o Dockerfiles mais fcil de
usar. As dependncias so puxadas como imagens do Docker ordenadamente e postas em
contineres e qualquer pessoa com o Docker e um editor instalado pode criar e depurar o
aplicativo em pouco tempo.

2 Docker x Mquinas virtuais

Docker enquadrado em termos de mquinas virtuais. Muitas vezes descrito como


"mquinas virtuais leves". Isso completamente compreensvel pois fcil conectar esses
pontos medida que as duas tecnologias compartilham algumas caractersticas. Ambos so
projetados para fornecer um ambiente no qual possvel executar um aplicativo. Alm disso,
em ambos h casos em que o ambiente representado como um sistema binrio que pode ser
movido entre hosts. A chave que a arquitetura subjacente fundamentalmente diferente entre
os contineres e as mquinas virtuais. Uma analogia que pode ser utilizada para explicar a
diferena entre Docker e as mquinas virtuais, assumir que o Docker seja como apartamentos
e as VMs como casas. So totalmente autnomas e oferecem proteo contra convidados
indesejados, elas tambm possuem sua prpria infraestrutura, encanamento, aquecimento,
eletricidade, entre outros. Alm disso, na grande maioria dos casos, todos tero no mnimo um
quarto, rea de estar, banheiro e cozinha. Mesmo que se compre uma casa menor podem ser
encontrados todos esses cmodos. Podem ser compradas mais do que necessrio porque
assim que as casas so construdas. Os apartamentos tambm oferecem proteo contra
convidados indesejados, mas so construdos em torno de infraestrutura compartilhada. O
prdio de apartamentos (o servidor que executa o daemon Docker, tambm conhecido como
um host Docker) oferece encanamento compartilhado, aquecimento, eletricidade, entre outros,
para cada apartamento. Adicionalmente apartamentos so oferecidos em vrios tamanhos
diferentes - de estdio a vrios quartos ou cobertura. E s estaria alugando exatamente o que
precisa. Os contineres Docker compartilham os recursos subjacentes do Docker hospedeiro.
Alm disso, os desenvolvedores criam uma imagem Docker que inclui exatamente o que eles
precisam para executar sua aplicao. Comeando com o bsico e adicionando apenas o que
necessrio para o aplicativo. As mquinas virtuais so construdas na direo oposta. Eles
comearam com um sistema operacional completo e, dependendo da aplicao, os
desenvolvedores podem ou no serem capazes de descartar componentes indesejados.
Docker no uma tecnologia de virtualizao, uma espcie de delivery de aplicativos.
Em um mundo centrado em VM, a unidade de abstrao uma VM monoltica que armazena
no apenas o cdigo do aplicativo. Uma VM leva tudo o que costumava usar em um servidor
fsico e apenas embala-o em um nico binrio para que ele possa ser movido. Mas ainda a
mesma coisa. Com os recipientes do Docker, a abstrao a aplicao ou com mais preciso
um servio que ajuda a compilar a aplicao. Em uma arquitetura de micro servios, muitos
desses pequenos servios (cada um Representado como um nico recipiente Docker)
compreende um aplicativo. As aplicaes agora podem ser desconstrudas em componentes
muito menores que mudam fundamentalmente a maneira como so inicialmente desenvolvidos
e depois gerenciados para produo.
Sua arquitetura composta por um host fsico ou virtual. Trabalha com um sistema de
arquivo chamado aufs, que permite que os passos para configurao do Container funcionem
de forma incremental. Alm de utilizar e compartilha as bibliotecas e os binrios do Sistema
Operacional hospedeiro. As imagens Docker nada mais so do que um template de um
determinado Sistema Operacional, contendo um software especfico ou no. Geralmente fazem
uso do sistema de arquivos Unix, e podem ser criadas atravs do arquivo de configurao
Dockerfile. Com o Docker possvel controlar os recursos de CPU, Memria e Disco atravs
dos parmetros de configurao, que so passados no Start do container, ou durante a execuo
do container. Um container no pode ser iniciado sem que haja uma imagem. Atravs de uma
imagem iniciada por um container possvel gerar novas imagens.

Consideraes Finais

Os dados do aplicativo no ficam no continer, eles ficam em um Docker volume que


compartilhado entre recipientes de acesso 1-N, conforme definido pela arquitetura de
aplicativos. Os Sysadmins fazem o backup do volume de dados, os contineres Optimally
Docker so completamente estticos e imutveis. Certamente, os patches ainda sero aplicados
a parte do Sysadmin, mas eles no so aplicados na execuo de contineres do Docker. Se
algum aplicar o patch em um continer em circulao e depois abriu novos contineres com
base em uma imagem no publicada, poderia resultar em um problema grave. Em vez de os
administradores atualizam sua imagem Docker atual, param sua execuo de contineres e
criam novos. Porque um continer pode ser gerado em uma frao de segundos, essas
atualizaes so feitas exponencialmente mais rapidamente do que com mquinas virtuais. Os
servidores de aplicativos se traduzem em um servio executado dentro de um Docker continer.
Certamente pode haver casos em que os microservios e os aplicativos precisem se conectar a
um servio que no foi feito em um continer, mas na maioria dos servidores independentes
onde os cdigos dos aplicativos so executados do lugar a um ou mais contineres que
fornecem a mesma funcionalidade com muito menos sobrecarga.

Referncias

Docker. What Docker. Disponvel em https://www.docker.com/what-docker


Sinestec. Docker Fundamentos e arquitetura. Disponvel em
http://www.sinestec.com.br/blog/docker-fundamentos-conceito-e-arquitetura/
Infoslack. Docker. Disponvel em https://infoslack.com/docker/#/
Mundo Docker. Docker. Disponvel em http://www.mundodocker.com.br/o-que-e-docker/