Neste post faremos uma abordagem sobre o Docker, o Docker é uma plataforma aberta para desenvolvedores e Sys-Admins instalarem, configurarem e executarem aplicações de forma indiferente ao ambiente, seja ele um Laptop, um Data Center ou numa Cloud.
O Docker é dividido em duas partes que cito abaixo:
– Docker Engine: Um conjunto de ferramentas leve e portátil.
– Docker Hub: Um serviço em Cloud para compartilhar aplicações e automatizar as tarefas.
O Docker permite que as aplicações sejam facilmente preparadas com seus devidos componentes e elimina os problemas de compatibilidade e convergência entre ambientes, sejam eles Desenvolvimento, QA ou Produção.
Como resultado os colaboradores podem embarcar rapidamente a mesma aplicação sem alterá-las entre Laptops, Data Centers ou qualquer Cloud.
Palavras de Solomon Hykes, Fundador e CTO da Docker.
Ok, Como o Docker se diferencia da Virtualização?
Containers vs. Virtualization
Máquinas Virtuais
Cada aplicação que é virtualizada inclui não somente a aplicação na qual pode conter dezenas de MB’s além de todo o Sistema Operacional na qual poderá ter centenas de MB’s.
Docker
O Docker Engine compreende apenas a aplicação suas dependências. Ele executa como um processo isolado no userspace do sistema operacional do host, compartilhando o kernel e outros containers. Desta forma, ele aproveita as isolações de recursos e benefícios da alocação de VMs mas muito mais portável e eficiente.
O Docker já é bem utilizado por empresas tais como Ebay e Spotify.
Para usuários do Fedora a instalação é bem simples, para isso execute os comandos abaixo (Tomarei como exemplo a instalação da imagem do Owncloud rodando no Fedora):
[root@host ~]# yum install docker-io
Para iniciar o serviço execute o comando abaixo.
[root@host ~]# systemctl start docker.service
Execute o comando a seguir para permitir que o serviço inicie automaticamente após um reboot.
[root@host ~]# systemctl enable docker.service
Agora, vamos verificar se o serviço está ativo executando o comando abaixo.
[root@host ~]# systemctl status docker.service
docker.service – Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; static)
Active: active (running) since Mon 2014-09-01 17:51:34 BRT; 4s ago
Docs: http://docs.docker.com
Main PID: 21439 (docker)
CGroup: /system.slice/docker.service
└─21439 /usr/bin/docker -d -H fd:// –selinux-enabled
Sep 01 17:51:34 host docker[21439]: [d38cce51.init_networkdriver()] creating new bridge for docker0
Sep 01 17:51:34 host docker[21439]: [d38cce51.init_networkdriver()] getting iface addr
Sep 01 17:51:34 host docker[21439]: [d38cce51] -job init_networkdriver() = OK (0)
Sep 01 17:51:34 host docker[21439]: Loading containers: ……………………: done.
Sep 01 17:51:34 host docker[21439]: [d38cce51.initserver()] Creating pidfile
Sep 01 17:51:34 host docker[21439]: [d38cce51.initserver()] Setting up signal traps
Sep 01 17:51:34 host docker[21439]: [d38cce51] -job initserver() = OK (0)
Sep 01 17:51:34 host docker[21439]: [d38cce51] +job acceptconnections()
Sep 01 17:51:34 host docker[21439]: [d38cce51] -job acceptconnections() = OK (0)
Sep 01 17:51:34 host systemd[1]: Started Docker Application Container Engine.
Crie uma conta no site do Docker: https://hub.docker.com/ antes de executar os comandos a seguir.
Utilize as credenciais criadas no site do Docker Hub para permitir transações entre o serviço instalado e o Docker Hub de acordo com o comando a seguir.
[root@host ~]# docker login -e “endereco@dominio.com” -u “username” -p “password”
É possível listar as imagens disponíveis no Docker Hub executando o comando abaixo.
[root@host ~]# docker image -a
Após localizar a imagem a ser baixada do Hub execute o comando a seguir. (No caso eu escolhi a imagem fedora/owncloud)
Para baixar uma imagem do Hub após estar registrado utilize o comando abaixo:
[root@host ~]# docker pull fedora/owncloud
Enfim vamos agora executar o conteúdo de nossa imagem com o comando a seguir (Lembre que as imagens não são instaladas, são diretamente executadas)
[root@host ~]# docker run -d -p 443:443 fedora/owncloud
Abra seu browse e utilize o seguinte endereço: http://localhost/owncloud para configurar o Owncloud.
Para maiores detalhes acesse o site do Docker e verifique os detalhes de cada imagem gerada.
É possível gerar suas próprias imagens, o site disponibiliza diversas documentações para fazer seu próprio build.
Bem, por enquanto é isso.