2014-06-09 10 views
10

Nuovo su Docker ... Docker è descritto come un'alternativa alle macchine virtuali. Ho letto un po 'ora e questo ha senso. Quello che non capisco completamente è il motivo per cui dovresti usare Docker su una macchina virtuale es. questo è esattamente ciò che AWS offre ora con il beanstalk.Che senso ha usare Docker su una macchina virtuale?

È semplicemente perché la maggior parte dell'hosting è basata su VM e Docker offre flessibilità, quindi anche se non sostituisce la VM, è ancora (potenzialmente, a seconda del caso d'uso) che vale la pena utilizzare?

+0

È possibile trovare questo post utile - http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine –

+0

Già letto, grazie;) – nashape

risposta

6

Il caso d'uso che funziona per noi è che è possibile utilizzare la stessa immagine di finestra mobile su una scatola reale, una macchina virtuale, diversi sistemi operativi, ecc. E avere lo stesso ambiente controllato.

Anche se si prevede di eseguirlo su un solo tipo di computer (ad esempio su macchine virtuali EC2), è comunque probabile che lo si sviluppi sul laptop o sul desktop, quindi potrebbe essere logico utilizzarlo.

E la parte buona è che l'overhead di Docker è molto piccolo (o almeno è l'idea), quindi non influisce sulle prestazioni anche quando viene eseguito su hardware virtuale. Questo è in contrasto con le macchine virtuali "reali" (non è un gioco di parole, ma suona bene :)), il che comporterebbe un grande sovraccarico in uno scenario simile.

+0

Quindi flessibilità. Fantastico, meglio passare ancora un po 'di tempo su Docker, grazie. ;) – nashape

3

Tutto su Google viene eseguito in un contenitore Linux, secondo Infrastructure VP Eric Brewer.

Ma tutto su Google non viene eseguito in una VM.

Sì, KVM viene utilizzato quando è necessario un sistema operativo diverso e il servizio di piattaforma pubblica di calcolo (per ora) esegue il Docker all'interno di macchine virtuali, forse per un maggiore isolamento e controllo. Altrimenti, la maggior parte dei contenitori di Google funziona su bare metal. Perché aggiungere spese generali extra?

Se sai diversamente, ti prego correggimi.

In azienda oggi, il rapporto tra VM e container può essere compreso tra 99 e 1. Quanto tempo è 30/70 o 20/80?

Mentre Kubernetes e altri strumenti di orchestrazione dei contenitori non possono mai raggiungere lo smalto e la facilità d'uso di vSphere, non vorrei essere un fornitore di virtualizzazione in questo momento.

2

Qualsiasi persona che incontra il mondo dei contenitori per la prima volta, si chiede Qual è il punto di utilizzo di Docker su una macchina virtuale? .. non sono eccezionale.

Mentre questo può essere una risposta semplice, come tutti puntano, i contenitori vengono semplicemente eseguiti all'interno di VM come avviene attualmente sulla maggior parte dei fornitori di cloud per garantire l'isolamento delle applicazioni. Ma ben noto il fatto, passare ai container non fornisce semplicemente la sicurezza che VM fa. Questo è il motivo per cui il contenitore viene eseguito sulla macchina virtuale per sfruttare la sicurezza stabilita e verificata fornita dagli hypervisor.

E sì, il miglioramento della sicurezza e dell'isolamento dei container su Linux ha portato al punto che è possibile utilizzare i servizi bare metal container senza utilizzare VM per l'isolamento. Un buon esempio per questo caso è il servizio cloud di IBM Bluemix. Bluemix ha creato un servizio contenitore gestito sul servizio cloud Bluemix pubblico che viene eseguito senza l'isolamento VM tra le applicazioni.

Le aziende come VMWare, Intel, Hyper .. stanno lavorando sulla costruzione di strutture basate su VM illuminazione-veloce che implementano l'API Docker, nel tentativo di ottenere la velocità del flusso di lavoro basata su container e sicurezza dell'hypervisor.

Tuttavia, per mantenere il vantaggio di agilità dei container, vengono eseguiti più contenitori all'interno di ogni VM e anche le organizzazioni che sono più preoccupate per la sicurezza possono utilizzare la VM per separare i contenitori che funzionano a diversi livelli di sicurezza. Ad esempio, i settori bancari, i contenitori che elaborano l'account cliente e le informazioni di pagamento possono essere programmati su nodi separati rispetto a quelli riservati ai siti Web di utenti.