Quais são as diferenças entre uma imagem VM e uma imagem Docker? [duplicado]

[[2] esta pergunta já tem uma resposta aqui:

  • Como é que o Docker é diferente de uma máquina virtual? 19 respostas
Há alguma diferença nas imagens do acoplador e da máquina Virtual? Exceto os formatos de imagem, Eu não consegui encontrar nenhuma informação sobre isso em qualquer lugar. Por favor, comente sobre as coisas como tamanho da imagem, tempo de criação de instância, captura tempo, etc. Obrigado!

Author: devesh-ahuja, 2015-03-17

1 answers

Estas são algumas diferenças entre um acoplador e uma imagem VM que eu poderia listar:

1. O processo de captura é mais rápido no acoplador do que no VMs

Nós geralmente começamos com uma imagem base, e então fazemos nossas alterações, e commit essas alterações usando o docker, e isso cria uma imagem. Esta imagem contém apenas as diferenças da base. Quando queremos executar a nossa imagem, também precisamos da base, e ela coloca a nossa imagem em cima da base usando um sistema de arquivos em camadas. Sistema junta as diferentes camadas e obtemos o que queremos, e só precisamos de executá-lo. Uma vez que o docker normalmente constrói em cima de imagens feitas a partir de um registro, raramente temos que "instantâneo" todo o OS em nós mesmos. Esta capacidade dos Estivadores de fotografar o SO em uma imagem comum também torna fácil de implantar em outros hospedeiros do docker.

2. O tempo de arranque é menor para o acoplador do que para o VMs

Uma máquina virtual normalmente leva minutos a começar, mas os contentores levam segundos, e ... um dia ainda menos de um segundo.

4. As imagens do acoplador têm mais portabilidade

As imagens do acoplador são compostas por camadas. Quando puxamos ou transferimos uma imagem, apenas as camadas que ainda não temos em cache são recuperadas. Isso significa que se usarmos várias imagens baseadas no mesmo sistema operacional base, a camada base é criada ou recuperada apenas uma vez. As imagens VM não têm esta flexibilidade.

5. O acoplador oferece versionamento de imagens

Podemos usar o comando docker commit. Podemos especificar duas opções: -m e -a. A Opção -m permite-nos especificar uma mensagem de commit, tal como gostaríamos com uma persistência num sistema de controlo de versões:

$ sudo docker commit -m "Added json gem" -a "Kate Smith"
0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c

6. As imagens do acoplador não têm Estados

Na terminologia de Docker, uma camada apenas para leitura é chamada de imagem. Uma imagem nunca muda. Uma vez que o Docker usa um sistema de arquivos da União, os processos pensam que todo o sistema de arquivos é montado read-write. Mas todas as mudanças vão para o Topo-mais gravável camada, e por baixo, o arquivo original na imagem apenas para leitura está inalterado. Como as imagens não mudam, as imagens não têm estado.

7. Os VMs são contentores centrados no hardware e os docker são centrados na aplicação

Digamos que temos uma imagem de contentor com 1GB de tamanho. Se quiséssemos usar uma VM completa, precisaríamos de ter 1GB vezes x número de VMs que você deseja. No docker container podemos compartilhar a maior parte do 1GB e se você tem 1000 containers que ainda pode ter apenas um pouco mais de 1GB de espaço para os containers OS, assumindo que eles estão todos executando a mesma imagem OS.

8. Formatos de imagem suportados

Imagens do acoplador:

    Nua. A imagem não tem um recipiente ou envelope de metadados.
  • ovf. O formato do contentor OVF.
  • Aki. Uma imagem do kernel Amazon. Ari. Uma imagem da Amazon ramdisk.
  • ami. Uma imagem da Amazon machine.

Imagens de VM:

  • cru. Uma estrutura formato de imagem de disco; se tiver um ficheiro sem um extensão é possivelmente um formato raw
  • vhd. O formato de disco VHD, um formato de disco comum usado por Monitores de máquinas virtuais de VMware, Xen, Microsoft, VirtualBox e outros
  • vmdk. Suporte do formato comum do disco por muitos monitores virtuais comuns
  • vdi. Suportado pela VirtualBox monitor de máquina virtual e emulador QEMU
  • iso. Um formato de arquivo para o conteúdo de dados de um disco óptico, tais como CD-ROM.
  • qcow2. Suportado pelo emulador QEMU que pode expandir dinamicamente e suporta a cópia ao escrever
  • Aki. Uma imagem do kernel Amazon. Ari. Amazona imagem ramdisk.
  • ami. Uma imagem da Amazon machine.
 21
Author: devesh-ahuja, 2016-02-23 13:11:39