Docker (software)

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Docker (programa))
Docker
Docker (container engine) logo.svg
Autor Solomon Hykes
Desenvolvedor Docker, Inc.
Lançamento 13 de março de 2013 (8 anos)
Escrito em 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.