Diferença entre pacotes e imagens Docker

Eu entendo PPAs, mas Docker é novo para mim. Como o Docker e o Dockerfiles são diferentes dos arquivos de pacotes pessoais (PPA) do Ubuntu, em termos de gerenciamento de pacotes?

Pacotes e imagens de contêiner são duas maneiras de distribuir software, evitando conflitos, embora o façam usando abordagens bastante diferentes.


Pacote são pacotes de arquivos que são instalados por um Gerenciador de pacotes como RPM no RHEL ou APT No Ubuntu, que verifica se vários pacotes usam bibliotecas compatíveis, não usam os mesmos nomes de arquivos, etc., antes de gravar os arquivos em um sistema de arquivos compartilhado. Os usuários podem então iniciar programas diretamente.

Os pacotes geralmente vêm de repositorio, e cabe às pessoas que executam os repositórios decidir qual pacote obtém o controle de cada nome de arquivo, porta de Rede, ID do usuário do sistema, etc., bem como quais versões de programas são empacotadas. Os pacotes são construídos a partir de arquivos de especificação que listam quais arquivos devem ser incluídos.

PPAs (Arquivos de pacotes pessoais) permitem que indivíduos e pequenos grupos publiquem seus próprios pacotes, para software que ainda não foi aceito nos repositórios principais.


Cisterna são sandboxes em que um programa ou grupo de Programas pode ser executado, isolado do resto do sistema. Graças ao suporte do kernel Linux para namespaces por processo, eles só podem acessar seus próprios arquivos (com um diretório raiz separado e uma tabela de montagem), interfaces de rede, etc. (Como uma forma muito mais abrangente de chroot.)

Como um contêiner só pode acessar seus próprios arquivos, existem imagem, pacotes de arquivos que formam o estado inicial de um contêiner. Não há necessidade do mesmo tipo de coordenação que há com pacotes, por causa do sandboxing. Cada contêiner inclui as versões específicas das bibliotecas de que precisa.

Encaixe é um gerenciador de contêineres: ele inicia contêineres de imagens especificadas, configura suas interfaces de rede, registra sua saída, etc.

Ele também gerencia imagens: ele pode construí-las a partir de scripts chamados Dockerfiles e carregá-las e baixá-las do Docker Hub, um conjunto de (principalmente) repositórios controlados pelo Usuário.


As duas abordagens podem ser combinadas: você pode criar uma imagem com base em uma imagem RHEL ou Ubuntu mínima e instalar pacotes dentro dela usando yum ou apt-get em execução dentro de um contêiner.

O inverso também pode ser possível: um pacote pode instalar uma imagem, embora eu não tenha ouvido falar de ninguém fazendo isso.

E, claro, a maneira mais fácil de instalar o próprio Docker é com um gerenciador de pacotes.

Da mesma forma, ainda há funções para sistemas de gerenciamento de configuração como Puppet e Chef: configurar contêineres por dentro ou controlar quais contêineres são implantados em quais máquinas e conectá-los todos juntos.

Docker e PPAs são coisas completamente diferentes.

Decidi fazer essa pergunta porque alguém tinha uma pergunta sobre dockers e como a segurança é gerenciada. O PPA é como um repositório pessoal que pode ser acessado para gerenciamento de pacotes, não é? Acho que, mais especificamente, um docker é mais parecido com um sandbox com um aplicativo ou conjunto de aplicativos dentro dele que podem ser gerenciados em geral como um rpm? A questão que tenho tem mais foco no gerenciamento de pacotes.

Oi deltab, sua resposta fez mais sentido depois de ler sobre o docker. Docker parece ser o conceito de Módulo feito mais modular e portátil e mais seguro (você disse “conteinerização e virtualização”, e “isolando programas”). Como os dockers são gerenciados? Atualmente, man pages não parece ter uma boa seção para um docker. Um yum fornece * / docker …tipo de Negócio ser o método de busca e, em seguida, eventualmente, baixar um aplicativo docker ou conjunto de aplicativos?

Sim, suas descrições de contêineres PPAs e Docker são bastante precisas. (Observe que Docker é o nome de um sistema que gerencia contêineres, bem como a empresa que o fabrica.) OK, então sua pergunta é mais como " Qual é a diferença entre pacotes e contêineres Docker?"; Eu posso responder a isso.

Tecnologia que desloca grande parte da necessidade de chef e servidores de gerenciamento de configuração como Bcfg2 Para linux paas precisa da aparência dele.

Sim, e a outra questão é Como faço para gerenciar contêineres docker? Estou lendo o site do docker que lain me deu.

@ paulcube: estou editando sua pergunta para focá-la em pacotes e imagens de contêiner. Acho que já existe uma pergunta comparando contêineres e máquinas virtuais.

Você pode me apontar para essa pergunta ou me dizer como você procurou por essa pergunta? Obrigado deltab.