Docker (software)

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Docker
Docker (container engine) logo.svg
Autor Solomon Hykes
Desenvolvedor Docker, Inc.
Lançamento 13 de março de 2013 (7 anos)
Linguagem Go
Sistema operacional Linux, Windows e Mac
Gênero(s) virtualização tipo contêiner
Licença Licença Apache 2.0 ou Proprietária (no caso do "Docker Enterprise")
Página oficial www.docker.com

Docker é um conjunto de produtos de plataforma como serviço (PaaS) que usam virtualização de nível de sistema operacional[1][2] para entregar software em pacotes chamados contêineres.[2] Os contêineres são isolados uns dos outros e agrupam seus próprios softwares, bibliotecas e arquivos de configuração. Eles podem se comunicar uns com os outros por meio de canais bem definidos.[3] Todos os contêineres são executados por um único kernel do sistema operacional[4] e, portanto, usam menos recursos do que as máquinas virtuais.[5][6]

O serviço tem níveis gratuitos e premium. O software que hospeda os contêineres é denominado Docker Engine.[6] Foi iniciado em 2013 e é desenvolvido pela Docker, Inc.[7]

Visão geral[editar | editar código-fonte]

O docker é uma alternativa de virtualização em que o kernel da máquina hospedeira é compartilhado com a máquina virtualizada ou o software em operação, portanto um desenvolvedor pode agregar a seu software a possibilidade de levar as bibliotecas e outras dependências do seu programa junto ao software com menos perda de desempenho do que a virtualização do hardware de um servidor completo. Assim, o docker torna operações em uma infraestrutura como serviços web mais intercambiável, eficientes e flexíveis.

Segundo uma análise da 451 Research, o "docker é uma ferramenta que pode empacotar um aplicativo e suas dependências em um recipiente virtual que pode ser executado em qualquer servidor Linux. Isso ajuda a permitir flexibilidade e portabilidade de onde o aplicativo pode ser executado, quer nas instalações, nuvem pública, nuvem privada, entre outros."[8]

Operação[editar | editar código-fonte]

O suporte para espaços de nomes do núcleo do Linux na maioria das vezes[9] isola uma visão da aplicação do ambiente operacional, incluindo árvores de processo, rede, IDs de usuário e sistemas de arquivos montados, uma vez que os cgroups do núcleo fornecem limitação de recursos, incluindo a UCP, memória, bloco de E/S e rede. Desde a versão 0.9, o Docker inclui a biblioteca libcontainer como seu próprio mecanismo de usar diretamente os recursos de virtualização fornecidos pelo núcleo do Linux, além de usar interfaces de virtualização abstrata via libvirt, LXC (Linux Containers) e systemd-nspawn.[10][11][12]

Referências

  1. «Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud». maureenogara.sys-con.com (em inglês). Consultado em 8 de outubro de 2015 
  2. a b O'Gara, Maureen (26 de julho de 2013). «Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud». SYS-CON Media. Consultado em 9 de agosto de 2013 
  3. «Docker frequently asked questions (FAQ)». 2 de março de 2019 
  4. «Select a storage driver documentation». Docker documentation. Consultado em 7 de dezembro de 2016. Cópia arquivada em 6 de dezembro de 2016 
  5. «Docker Documentation: Kernel Requirements». docker.readthedocs.org. 4 de janeiro de 2014. Consultado em 20 de agosto de 2014. Cópia arquivada em 21 de agosto de 2014 
  6. a b «What is a Container?». docker.com (em inglês). Docker, Inc. Consultado em 13 de maio de 2019 
  7. Ratan, Vivek (8 de fevereiro de 2017). «Docker: A Favourite in the DevOps World». Open Source For U (em inglês). Consultado em 14 de junho de 2017 
  8. «Docker: A 'Shipping Container' for Linux Code». linux.com (em inglês). Consultado em 8 de outubro de 2015 
  9. Dan Walsh. «Yet Another Reason Containers Don't Contain: Kernel Keyrings». projectatomic.io. Consultado em 13 de abril de 2015 
  10. Steven J. Vaughan-Nichols (11 de junho de 2014). «Docker libcontainer unifies Linux container powers». ZDNet. Consultado em 30 de julho de 2014 
  11. «libcontainer - reference implementation for containers». github.com. Consultado em 30 de julho de 2014 
  12. «Docker 0.9: Introducing execution drivers and libcontainer». docker.com. 10 de março de 2014. Consultado em 20 de janeiro de 2015 

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre software é um esboço. Você pode ajudar a Wikipédia expandindo-o.