Fråga om Docker och Virtual Machine

Permalänk
Medlem

Fråga om Docker och Virtual Machine

Hej! En fördel med Docker är ju att man kan ta en container och så fungerar den även när den flyttas om jag förstått det rätt.

Med en Virtual Machine kan du installera ett program och sedan flytta hela VM till annan dator.

Är då nackdelen att VM tar mer resurser eller vad finns det mer?

Visa signatur

Chassi: Fractal Design Define C || Processor: Intel i7-8700K || Grafikkort: ASUS GeForce GTX 1080Ti ROG Strix Gaming || Moderkort: Gigabyte Z370 AORUS ULTRA WIFI || Minne: Corsair Vengeance LPX DDR4 3000MHz 32 Gb || Lagring: Samsung 860 EVO 1TB SSD || PSU: Seasonic Focus+ 850W 85+ GOLD PSU || Skärm:Samsung Odyssey G9 || Windows 10

Permalänk
Medlem
Skrivet av Larsp777:

Hej! En fördel med Docker är ju att man kan ta en container och så fungerar den även när den flyttas om jag förstått det rätt.

Med en Virtual Machine kan du installera ett program och sedan flytta hela VM till annan dator.

Är då nackdelen att VM tar mer resurser eller vad finns det mer?

I grund och botten är det två olika tekniker.

Syftet med en virtuell maskin är just att vara en virtuell kopia av en fysisk dator. Du specificerar virtuella cpu-kärnor, du väljer hur mycket RAM som ska allokeras från värdsystemet till din VM, etc. Mellan en VM och värdsystemet finns en hypervisor som tilldelar VMn de resurser den begärt.

Tillvägagångssättet med en VM är oftast:

  • Skapa en VM

  • Installera ett OS i din VM

  • Installera de program du vill ha i din VM

  • Använd den som vilken dator som helst

En VM är lite som ett husdjur.

En container allokerar inte sina resurser på samma sätt men framförallt är inte syftet med en container att den ska sättas upp en gång och sedan vårdas ömt under en längre tid. En container är en kortlivad (kortlivad kan fortfarande innebära flera månader) instans av en "image/avbildning" vilken är väldigt ändamålsanpassad och kommer färdiginstallerad med allt som behövs.

En container är mer som boskap än husdjur.

Visa signatur

:(){ :|:& };:

🏊🏻‍♂️   🚴🏻‍♂️   🏃🏻‍♂️   ☕

Permalänk

Enkelt uttryckt kan man väl säga att:

En virtuell maskin simulerar hårdvara.
En container simulerar mjukvara (operativsystem och annat som krävs för att köra applikationen).

Visa signatur

Tålamod och disciplin!

Permalänk
Medlem

En annan fråga:

Om jag har en Docker-container skapad på Windows, kan jag köra den på en Linux-maskin t.ex?

Visa signatur

Chassi: Fractal Design Define C || Processor: Intel i7-8700K || Grafikkort: ASUS GeForce GTX 1080Ti ROG Strix Gaming || Moderkort: Gigabyte Z370 AORUS ULTRA WIFI || Minne: Corsair Vengeance LPX DDR4 3000MHz 32 Gb || Lagring: Samsung 860 EVO 1TB SSD || PSU: Seasonic Focus+ 850W 85+ GOLD PSU || Skärm:Samsung Odyssey G9 || Windows 10

Permalänk
Medlem
Skrivet av Larsp777:

En annan fråga:

Om jag har en Docker-container skapad på Windows, kan jag köra den på en Linux-maskin t.ex?

Det beror på om din container image kör Windows eller Linux. För Windows containers krävs en värd som kör Windows. Linux containers går att köra på respektive plattform.

Visa signatur

Spelriggen: Intel i5 10400F - GTX 1070 - 16GB DDR4 - ASUS TUF GAMING B460M-PLUS - 500 GB SDD - be quiet! 730W - Define Mini C

Permalänk
Medlem
Skrivet av Hotfuzz08:

Det beror på om din container image kör Windows eller Linux. För Windows containers krävs en värd som kör Windows. Linux containers går att köra på respektive plattform.

Ok, såg något om att så länge man hade Docker installerat spelade det ingen roll. Stämmer detta?

Visa signatur

Chassi: Fractal Design Define C || Processor: Intel i7-8700K || Grafikkort: ASUS GeForce GTX 1080Ti ROG Strix Gaming || Moderkort: Gigabyte Z370 AORUS ULTRA WIFI || Minne: Corsair Vengeance LPX DDR4 3000MHz 32 Gb || Lagring: Samsung 860 EVO 1TB SSD || PSU: Seasonic Focus+ 850W 85+ GOLD PSU || Skärm:Samsung Odyssey G9 || Windows 10

Permalänk
Medlem
Skrivet av Larsp777:

Ok, såg något om att så länge man hade Docker installerat spelade det ingen roll. Stämmer detta?

Nja, docker desktop, som jag tror du syftar på, är egentligen bara motorn som kör containers, det finns andra, podman, containerd mfl. När du skriver en dockerfil så definierar du vilken base image du använder, här kan det vara Windows server 2022 exempelvis, eller Linux, kan vara Ubuntu, Alpine mfl. Vilken plattform du bygger för avgör hur du kan köra din image.

Visa signatur

Spelriggen: Intel i5 10400F - GTX 1070 - 16GB DDR4 - ASUS TUF GAMING B460M-PLUS - 500 GB SDD - be quiet! 730W - Define Mini C

Permalänk
Medlem
Skrivet av Hotfuzz08:

Nja, docker desktop, som jag tror du syftar på, är egentligen bara motorn som kör containers, det finns andra, podman, containerd mfl. När du skriver en dockerfil så definierar du vilken base image du använder, här kan det vara Windows server 2022 exempelvis, eller Linux, kan vara Ubuntu, Alpine mfl. Vilken plattform du bygger för avgör hur du kan köra din image.

Aha, ok.

Visa signatur

Chassi: Fractal Design Define C || Processor: Intel i7-8700K || Grafikkort: ASUS GeForce GTX 1080Ti ROG Strix Gaming || Moderkort: Gigabyte Z370 AORUS ULTRA WIFI || Minne: Corsair Vengeance LPX DDR4 3000MHz 32 Gb || Lagring: Samsung 860 EVO 1TB SSD || PSU: Seasonic Focus+ 850W 85+ GOLD PSU || Skärm:Samsung Odyssey G9 || Windows 10