Docker
AutorSolomon Hykes
DesenvolvedoresDocker, Inc.
Lançamento inicial13 de março de 2013 (13 anos)
Lançamento estável
25.0.4 / 7 de março de 2024; há 2 anos
Repositório
Escrito emGo
Sistema
operacional
Linux, Windows e Mac
Tipovirtualização tipo contêiner
LicençaLicença Apache 2.0 ou Proprietária (no caso do "Docker Enterprise")
Websitewww.docker.com

Docker é um conjunto de produtos de plataforma como serviço (PaaS) que usam virtualização de nível de sistema operacional para entregar software em pacotes chamados contêineres.[1] 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.[2] Todos os contêineres são executados por um único kernel do sistema operacional[3] e, portanto, usam menos recursos do que as máquinas virtuais.[4][5]

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

Visão geral

editar

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."[7]

Operação

editar

O suporte para espaços de nomes do núcleo do Linux na maioria das vezes[8] 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.[9][10][11]

Referências

  1. 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. Cópia arquivada em 13 de setembro de 2019 
  2. «Docker frequently asked questions (FAQ)». 2 de março de 2019 
  3. «Select a storage driver documentation». Docker documentation. Consultado em 7 de dezembro de 2016. Cópia arquivada em 6 de dezembro de 2016 
  4. «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 
  5. a b «What is a Container?». docker.com (em inglês). Docker, Inc. Consultado em 13 de maio de 2019 
  6. 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 
  7. «Docker: A 'Shipping Container' for Linux Code». linux.com (em inglês). Consultado em 8 de outubro de 2015 
  8. Dan Walsh. «Yet Another Reason Containers Don't Contain: Kernel Keyrings». projectatomic.io. Consultado em 13 de abril de 2015 
  9. Steven J. Vaughan-Nichols (11 de junho de 2014). «Docker libcontainer unifies Linux container powers». ZDNet. Consultado em 30 de julho de 2014 
  10. «libcontainer - reference implementation for containers». github.com. Consultado em 30 de julho de 2014 
  11. «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
Ícone de esboço Este artigo sobre software é um esboço. Você pode ajudar a Wikipédia expandindo-o.

📚 Artikel Terkait di Wikipedia

JAX-WS

aplicações Java EE de código aberto. Ela é chamada de JAX-WS RI (de Reference Implementation) e é destinada a ser uma implementação de qualidade de produção

Humano

«The Role and Importance of the Study of Economic Subjects in the Implementation of the Educational Potential of Education». Procedia - Social and Behavioral

Psiquiatria

(link) Barnett, P.; Goulding, L.; Casetta, C.; et al. (20 jul. 2021). «Implementation of telemental health services before COVID‑19: rapid umbrella review»

Controvérsia sobre alimentos geneticamente modificados

de 2013  Lazarus, Richard J. (1991). «The Tragedy of Distrust in the Implementation of Federal Environmental Law». Law and Contemporary Problems (em inglês)

Holocausto

JSTOR 2606046  Israel Gutman. Encyclopedia of the Holocaust, Macmillan Reference Books; Reference edition (1 de outubro de 1995. «"How many Jews were murdered in

Televisão

Antipolis, Sophia (setembro de 1997). Digital Video Broadcasting (DVB); Implementation of Binary Phase Shift Keying (BPSK) modulation in DVB satellite transmission

ReactOS

platforms, it is essential to be able to target a clean and generic reference implementation of the Microsoft framework, freed from secret and undocumented

Albert K. Cohen

Alfred Lindesmith. A dissertação de mestrado de Cohen, “The differential Implementation of Criminal Law” surgiu do conceito do crime de colarinho branco de