Pro e contro dell'utilizzo dei contenitori Windows anziché dei contenitori Linux per Docker?


37

Sto installando Docker per Windows (CE) su Windows 10 e la prima schermata mi chiede:

[] Usa i contenitori Windows anziché i contenitori Linux (questo può essere modificato dopo l'installazione)

Questa sembra una decisione importante, tuttavia la documentazione Docker , le FAQ e l' esercitazione sul contenitore di Windows non forniscono informazioni sul perché potrei scegliere l'una rispetto all'altra.

Sarebbe utile avere una visione obiettiva delle ramificazioni di questa scelta:

  • Un'opzione sarà più veloce dell'altra?
  • La decisione influisce sull'utilizzo delle risorse di sistema (RAM, CPU)?
  • Posso eseguire le stesse immagini su entrambi i tipi?
  • Uno è più sicuro dell'altro?

Qualsiasi altra distinzione che potrebbe aiutarmi a giungere a una conclusione sarebbe molto gradita.


La risposta a questa non è basata sull'opinione. Ed è accettato. Quindi non è necessario chiudere questo.
Nils,

Risposte:


19

DEVI utilizzare un host Windows per i contenitori Windows, tuttavia puoi utilizzare un host Linux o un host Windows per i contenitori Linux. Da aprile 2018 puoi persino eseguire entrambi in parallelo .

Un'opzione sarà più veloce dell'altra?

No. più veloce in cosa?

La decisione influisce sull'utilizzo delle risorse di sistema (RAM, CPU)?

Windows utilizza più risorse di Linux: Windows Nano è il più piccolo possibile

Posso eseguire le stesse immagini su entrambi i tipi?

No. puoi eseguire app .NET in contenitori mono ma non puoi avviare un contenitore Windows su un host Linux e viceversa - non è lo stesso della virtualizzazione

Uno è più sicuro dell'altro?

Ancora una volta - più sicuro in cosa? No. Entrambi eseguono Docker nativo, quindi non è niente come hyper-v vs VMware e più come Linux vs Windows, quindi tutto dipende da cosa stai per eseguire .net, python, java, ruby ​​ecc.


2
Secondo questo. La lettura completa questa risposta containerjournal.com/2016/10/28/…
A.Newgate,

4
Quindi, se scelgo di utilizzare i contenitori Linux, Docker avvierà una VM Linux Hyper-V per eseguire i miei contenitori, altrimenti eseguirà i contenitori Windows in modo nativo? E non posso eseguire contemporaneamente entrambi i tipi di container?
Duncan Jones,

1
docker per Windows 10 ti consente di farlo - ma in produzione avresti uno sciame di
docker con

Docker è basato su lxc (Linux) - utilizzerà lo stesso kernel dell'host Docker. Se avvii Windows in un LXC, deve virtualizzare o emulare Win. Non sono sicuro che lo stesso valga per win-docker, poiché win supporta linux.
Nils,

1
@DuncanJones, appena 3 giorni dopo la tua richiesta c'era un post sul blog su MSDN che spiegava che ora PUOI eseguire i contenitori Windows e Linux in parallelo.
Jonas Heidelberg,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.