Blog Comunidade Semana do Linux

 Blog Comunidade Semana do Linux

Principais Funcionalidades do Docker

Principais Funcionalidades do Docker

Podemos dizer que as Principais Funcionalidades do Docker são:

Contêineres facilmente portáveis: você pode criar uma imagem de toda a configuração e aplicativos instalados em seu contêiner, transferir e instalar em um outro host desde que tenha um Docker previamente instalado. 

 

Versionamento: Docker permite que você versione as alterações de um contêiner de uma forma muito semelhante ao feito pelo GIT ou SVN. Isto permite portanto verificar as diferenças entre versões, fazer commit de novas versões e fazer rollback de uma dada versão. 

 

Reutilização de componentes: as imagens criadas podem ser reutilizadas, como por exemplo, se diversas de suas aplicações utilizam um stack com Java 8, Tomcat 8 e Oracle 12 você poderá criar uma uma imagem base contendo estes itens com sua instalação e configuração. Desta maneira esta imagem poderá ser reutilizada em diversos Contêineres diferentes.  podemos construir imagens Docker usando um arquivo Dockerfile e o comando de montagem docker build. O Dockerfile usa uma DSL - Domain Specific Language -  simples com poucas instruções, porém sufucientes para construir imagens Docker. A abordagem de criação via Dockerfile pode ser repetida quantas vezes for necessário, em quantos ambientes seja desejado além de permitir gerenciamento de versão no GIT/SVN das definições da infraestrutura. Com esta DSL o Docker consegue levar a Metodologia de Orientação a Objetos para o provisionamento da Infraestrutura. 

 

Compartilhamento: o Docker Hub já possui milhares de contêineres com as mais diversas aplicações instaladas e configuradas, desta maneira você pode rapidamente criar sua aplicação com uma base desenvolvida por outra pessoa, ou ainda criar sua base e compartilhá-la. 

 

CLI - Command Line Interface e API - Application Program Interface: Permite criação de Programas e Scripts que interagem com o Docker para provisionar serviços nos Contêineres.

 

Automatização de Implantação dentro dos Contêineres: Usando os provisionadores que por sua vez usam a API do Docker, podemos automatizar a implantação dos ambientes de software.

 

Licença Open Source: Licenciado como Apache License, Version 2.0 mantem os códigos fonte em https://github.com/docker/docker para facilitar o desenvolvimento colaborativo.

 

Evita Dependency Hell: Um dos maiores problemas em múltiplos ambientes com os quais os desenvolvedores de software convivem diariamente é o gerenciamento de dependências. O Docker evita problemas neste gerenciamento.

 

Demanda Poucos Recursos de Hardware: Exige poucos recursos de processos, memória e espaço em disco.

 

Performance inigualável: é possivel baixar uma imagem Fedora do repositório público na Internet em menos de um minuto e executar um comando simples num contêiner criado com esta imagem, à partir do computador Host, em menos de um segundo.

  

Ligação entre Contêineres: Conectar contêineres via mapeamentos de porta TCP/IP não é a única forma de disponibilizar recursos entre eles. Um contêiner Docker pode se conectar a um outro via um sistema de ligação e enviar informações de um para o outro de forma eficiente e segura. Quando os contêineres estão ligados, a informação sobre o contêiner origem pode ser enviada para um contêiner destino. Isso permite que o contêiner destino possa acessar dados selecionados do contêiner origem. Como exemplo, podemos então criar um contêiner chamado web (destino) e ligá-lo a um contêiner chamado db (origem) usando um alias para o link chamado dblink, por exemplo. Para permitir a ligação o Docker cria um tunel seguro entre o contêiner origem e o contêiner destino, eliminando a necessidade de expor qualquer porta TCP/IP externamente a estes dois contêineres.

 

Orquestração com Docker Compose: Docker Compose é uma ferramenta para definir e rodar aplicações complexas via Docker. Com Compose, podemos definir uma aplicação multi-contêiner num único arquivo, e em seguida iniciar a aplicação e tudo da qual ela depende para sua executação. O Docker Compose é ótimo para usar em ambientes de desenvolvimento, homologação e Integração Contínua e permite implementar Arquitetura de Micro Serviço de forma simples.

 

Para saber mais sobre Docker Compose e Orquestração de Serviços e obter todas as vantagens desta plataforma faça o curso Introdução ao Docker compreendendo 16 horas. Link permanente : http://cursos.escolalinux.com.br/curso/introducao-ao-docker-16-horas

 

Virtualização Enxuta: Por tudo isso que foi exposto aqui podemos dizer que o Docker permite levar para a Infraestrutura de TI esta Técnica de Virtualização Enxuta que nos proporciona o benefício da eliminação de desperdício da mesma forma que é preconizada pelas Metodologias Ágeis para Desenvolvimento de Software (SCRUM/XP) e de Produtos e Negócios (Lean Startup).

Comunidades Virtuais e aprendizado - o que voce po...
Desmistificando o LibreOffice Calc