Docker 1.9

Olá pessoal,

Estou aqui hoje para divulgar as novas funcionalidades da versão 1.9 do Docker. Abaixo segue algumas de suas novas funções e como isso pode te ajudar.

Multi-host Networking

A funcionalidade de rede multi-host estava em fase experimental desde junho desse ano, agora ela foi lançada como versão estável dentro da engine do Docker, isso é muito útil principalmente se você está pensando em ter diversos hosts de Docker interligados, e claro criar cluster de Docker, pois ele possibilita a criação de redes virtuais entre os hosts. Outro beneficio é que agora a rede é como um plugin adicional do Docker, isso faz com que seja possível trocar o plugin de rede sem precisar mudar algo em sua aplicação ou ambiente, ou seja, não há tanto retrabalho.

Persistent Storage

Nessa nova versão a engine do Docker foi desenhada para trabalhar melhor com os plugins de volume, ou seja, agora além de ser mais fácil trabalhar com volumes, ainda os plugins que existiam foram adicionados como oficiais. Outro beneficio é que agora é possível integrar essas plugins de volumes com o Swarm, deixando ainda mais fácil a administração de um Cluster. Plugins oficiais: Blockbridge, Ceph, ClusterHQ, EMC e Portworx, explicaremos cada um melhor nos próximos posts.

Docker Swarm 1.0

Com as melhorias trazidas com a rede e storage persistente, agora o Swarm ficou ainda mais eficiente, além de algumas correções de bug essa nova versão permite que você crie Cluster de Docker e escale seus containers de forma ainda mais eficiente, em testes realizados pelo pessoal de engenharia do Docker foi possível 30.000 containers em 1.000 nós sem dificuldade alguma.

Docker Engine 1.9

Além das melhorias já apresentadas, a engine do Docker traz ainda:

  • Variáveis em tempo de compilação no Dockerfile: Agora é possível setar variáveis (ou na tradução livre: argumentos), apenas no momento geração da imagem via Dockerfile, isso é muito útil caso você tenha alguma restrição para construir sua imagem (proxy local por exemplo).
  • Pull de imagem concorrente: Até a versão 1.8 do Docker, quando você baixava duas imagens que tem layer iguais, uma das imagens (geralmente a mais recente que você mandou baixar) ficava presa aguardando o término da outra, na versão 1.9 isso foi melhorado e agora você poderá baixar as duas simultaneamente, a diferença é que uma não esperará pela finalização da outra.
  • Sinais de parada: No Dockerfile agora é possível adicionar a instrução: STOPSIGNAL, fazendo com que seja possível personalizar o final de parada enviado para seu aplicativo quando o container for parado.
  • AWS CloudWatch logging driver: Se você tiver sua infra na AWS é possível integrar o CloudWatch com seus containers para ter relatório e monitoramento dos logs de seus containers.
  • Métricas de I/O de disco: Agora comando stats retornará também informações sobre o uso de I/O de disco de cada container.

Docker Compose 1.5

Principais novidade no Compose 1.5:

  • Suporte a Windows: Foi adicionado ao Docker Toolbox Windows, isso agiliza bastante o desenvolvimento e permite você rodar os mesmos comandos do Windows no Mac e vice-versa.
  • Variáveis de ambiente Compose: Agora você pode fazer qualquer coisa em seu arquivo Compose em tempo de execução utilizando variávies de ambiente.
  • Melhor suporte para múltiplos ambientes: Você define qual será seu ambiente base a partir de um único arquivo e em arquivos adicionais acrescenta as definições e mapeamentos de produção, desenvolvimento, QA, e afins.
  • Integração com rede: Isso é experimental ainda, mas possibilidade que você faça deploy via compose em um cluster de Docker, ou ainda possa definir seu cluster através do Compose.
  • Validação de arquivo: Agora o Compose validará seu arquivo de definição e lhe trará mensagens melhoradas com relação a análise em caso de erro

Docker Toolbox

Com o Docker Toolbox é possível você montar seu ambiente de desenvolvimento independente do S.O utilizando, basta você instala-lo, ele trará todas as ferramentas citadas acima empacotadas em um único instalador.  Ele ainda permite que você se conecte com algum provedor de externo. Você ainda pode escrever seu próprio driver para ele.

Docker Registry 2.2

Novidades dessa nova versão do Registry:

  • Suporte ao Google Storage: Agora é possível você armazenar suas imagens no Google Storage Plataform;
  • Modo somente leitura: Se você quer manter a consistência de seu repositório em momentos de manutenção, basta colocá-lo em modo somente leitura e os usuários poderão apenas ler as imagens, sem permissão para acrescentar novas
  • Arquivo configurável de HealthCheck: Se você quer desativar um repositório sem afetar outras ferramentas que dependem dele, você pode adicionar um arquivo para invalidade as consultas e download das imagens contidas nele.
  • Cabeçalhos de resposta HTTP configuráveis: Agora é possível você personalizar os cabeçalhos resposta HTTP do registro, isso é útil para melhorar a segurança do repositório ou até mesmo personalizar para o seu ambiente.

Ufa! bastante coisa não? Imaginem o que virá na 2.0 :). Espero ter ajudado e nos ajude divulgando o Blog.

Abraço!