È possibile avere una finestra mobile in esecuzione all'interno di vmware?


24

Eseguo workstation VMware per le mie esigenze di sviluppo e devo mantenere macchine virtuali diverse per ambienti diff.

Docker sembra quindi consentire l'esecuzione di ambienti diff nei container

  1. All'interno della mia VM x64 di Windows 10 posso eseguire la finestra mobile e utilizzare immagini e contenitori diversi per sviluppare, creare e testare il mio codice? (Ricorda che sto eseguendo il mio sviluppo di sviluppo in VMware Workstation mentre la finestra mobile utilizza VirtualBox)

  2. Come posso spedire / portare questa mia app (codice + database + web api + .....) alla produzione? La macchina di produzione deve far funzionare bene la finestra mobile?

Per favore aiutatemi a chiarire.

Aggiornare

Per VMWare intendo VMWare workstation pro.

Risposte:


14

, è possibile eseguire Docker in una macchina virtuale. Docker è una soluzione di virtualizzazione leggera, non virtualizza l'hardware, quindi non sarai interessato dai problemi tipici delle macchine virtuali nidificate.

Il bind delle porte potrebbe essere un po 'complicato, perché dovrai in qualche modo connettere la tua VM dev-env in VMware con la Docker VM in VirtualBox.

È inoltre possibile riscontrare problemi se si desidera esporre le cartelle dell'host a un servizio in un contenitore Docker. I file system di Windows sono limitati rispetto a quelli Linux in termini di granularità delle autorizzazioni e ad alcuni servizi non piace. (questo problema non è specifico per Docker)

In generale, la tua app non è bloccata su Docker in produzione. I servizi dockerizzati comunicano con il mondo attraverso la rete, non diversamente da ciò che fanno normalmente i servizi regolari. Tuttavia, un'app progettata pensando a Docker (o, più in generale, al cloud) può essere più resistente agli errori e più semplice da gestire.


6

Questo blog spiega esattamente come utilizzare Docker su Windows con VMWare Workstation. Puoi persino usare Windows 7.

https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/

Prima installa il gestore di pacchetti Chocolatey per Windows (questo è un comando a una riga)

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

quindi installare Docker per utilizzare la workstation VMWare

choco install -y docker  
choco install -y docker-machine  
choco install -y docker-machine-vmwareworkstation  

Crea una vm predefinita

docker-machine --native-ssh create -d vmwareworkstation default  

Imposta le variabili di ambiente

docker-machine env | iex

Ora sei pronto per iniziare.


Eccellente! Grazie per averlo condiviso. PS: L'ultima riga è per PowerShell, senza "| iex" che funzionerebbe in cmd
Dmitry Gusarov

Chocolatey era nuovo per me, questo è stato un buon punto di partenza: hanselman.com/blog/…
ccook

1
Nel caso in cui qualcun altro lo abbia provato senza leggere il link, il comando "Crea un predefinito vm" dovrebbe essere: docker-machine --native-ssh create -d vmwareworkstation default(Nota mancante "-")
Neil

2
  1. Sì, puoi eseguire la finestra mobile su Windows. Windows su VMWare funziona anche. Eseguiamo docker su server Linux su VMWare.
  2. Il più intelligente sarebbe avere anche una finestra mobile sulla tua macchina di produzione, ma sarebbe possibile copiare i tuoi dati dai contenitori. Non lo consiglio però.
    È possibile utilizzare docker saveper salvare le immagini della finestra mobile in file.
    Penso che valga la pena ricordare che non è consigliabile eseguire diverse applicazioni all'interno dello stesso contenitore e non è consigliabile archiviare i dati all'interno dei contenitori, è necessario utilizzare i volumi per questo.

Grazie per la risposta, ma per favore chiarisci Hai detto "Windows funziona anche su VMWare", ma intendevi dire che "Docker su VMWare funziona anche"?
Hamza Ahmed Zia,

@HamzaAhmedZia "VMWare" Cosa esattamente? ESXi? Workstation? Sii specifico e modifica la tua domanda. La workstation esiste solo su Linux e Windows.
Ramhound,

@Ramhound intendo Workstation. Domanda aggiornata
Hamza Ahmed Zia,

@HamzaAhmedZia, quindi nel contesto di Workstation, l'autore di questa risposta indica che è possibile eseguire Docker in una VM VMWare Workstation Windows.
Ramhound,

@Mikael Qual è la tua raccomandazione per la spedizione alla produzione poiché dici di non consigliare di copiare i dati dai contenitori?
Hamza Ahmed Zia,

0

C'è una grande differenza tra l'host docker (Linux o Windows):

  • L' host Linux non ha bisogno di alcuna tecnologia di virtualizzazione Quindi nella workstation Vmware è possibile installare un Linux standard, quindi il motore docker ed eseguire i container senza problemi
  • L' host Windows ha requisiti diversi perché, sotto il cofano, crea una VM Hyper V Linux (dettagli in https://rancher.com/the-similarities-and-differences-b Between- windows- and-linux-containers/ )

Quindi sull'host docker di Windows in una workstation Vmware (sulla tua Windows fisica), hai una VM Linux HyperV nidificata! Non è un grosso problema, fai solo attenzione ad abilitare la virtualizzazione nidificata.

François


Quel punto su Windows che ospita una VM HyperV non è corretto se si esegue Docker per Windows in modalità Contenitore Windows e si utilizza LCoW fianco a fianco. Ha altri problemi, ma gli articoli collegati sulla posizione dell'agnosticismo basato su Docker basato sul sistema operativo host non sono lungimiranti nella migliore delle ipotesi in base a dove Moby Project si sta dirigendo con la finestra mobile basata su container Windows su Win 10. Ma ho appena affondato una settimana per scoprire che il bordo sanguinante sta ancora attirando sangue e non è arretrato fino al livello di pericolo del solo fronte. A questo punto sembrano altri sei mesi fino a quando non è pronto come pilota quotidiano.
Tetsujin no Oni,

0

L'esecuzione di contenitori Docker sta causando problemi di associazione delle porte ..!

È buona norma eseguire la finestra mobile all'interno della macchina virtuale ... L'architettura come riferimento

Sistema operativo host -> Macchina virtuale -> Hypervisor -> Sistema operativo server -> Docker

È una buona pratica .. :)

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.