[linux] Containers [Was: Web hosting control panel?]

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Ma Feb 18 14:21:29 CET 2019


Aldus schreef paai op Mon, Feb 18, 2019 at 09:54:01AM +0100:
> On 18-02-19 07:42, Frans van Berckel wrote:
> >Van het weekend met RancherOS aan het experimenteren geweest. Dat is
> >een soort van Docker only Linux distributie. En dat is best leuk. Een
> >oude 4 core x86_64 Dell server is al voldoende, zo blijkt.
> >
> >https://rancher.com/rancher-os/
> >
> >Bestaat er eigenlijk zoiets als een web hosting control panel voor
> >docker? Hoef ik het wiel niet opnieuw uit te vinden.
> >
> >Eens kijken of ik op Rancher wat website's up-and-running kan krijgen.
> >Of anderszins een methode, waar ik zelf niet aan gedacht heb, kan ook.
> >
> 
> Wat is een 'docker-only' systeem, c.q. wat zijn containers? Een bundel
> virtuele machines?

Uit het begin van de informatica stamt de stelling dat een universele
turing machine elke andere turing machine kan simuleren.

https://en.wikipedia.org/wiki/Universal_Turing_machine

Een computer die programma's kan uitvoeren die geschreven zijn voor een
andere computerarchitectuur gebruikt een emulator. Voorbeeld: Dec VAX-11
die  een DEC PDP-11 kon emuleren. Een emulator kan speciale hardware in
de processor zijn, microcode of software. Ander voorbeeld: de Crusoe
processor van Transmeta (waar Linux Torvalds werkte) emuleerde een Intel
x86 processor in software.

https://en.wikipedia.org/wiki/Transmeta_Crusoe

Unix machines ondersteunen vaak hardware partitionering, waarin de
resources van een groot systeem worden opgedeeld waardoor er meerdere
geïsoleerde systemen ontstaan.

https://en.wikipedia.org/wiki/Logical_partition

Dat gaat wat verder dan Virtual Memory, waarin elk proces zijn eigen
Geheugenruimte krijgt toegewezen. IBM System/360 introduceerde Virtual
Machines, waar gebruikersprogramma's in een gesimuleerde computer
draaien met hun eigen OS. Gewone instructies worden door de processor
direct uitgevoerd dus sneller dan emulatie), maar geprivilegieerde
instructies veroorzaken een trap naar de 'hypervisor' van het host
systeem. Je kunt VMs zelfs nestelen. 

https://en.wikipedia.org/wiki/VM_%28operating_system%29

Een Virtuele Machine levert tragere I/O verwerking op. Unix kent al lang
de chroot jails, waarin een proces een eigen root directory krijgt en
zo geïsoleerd wordt van de rest van de directoryboom.

Linux heeft dat concept uitgebreid tot containers, die in geheel
geïsoleerde namespaces in de kernel leven, maar wel dezelfde kernel
delen. Dat geeft dus sterkere isolatie dan chroot, maar er is
gemakkelijker uit te breken dan een virtuele machine. Een groot aantal
containers vereist minder geheugen dan hetzelfde aantal virtuele
machines. Een voordeel is de mogelijkheid om een container te migreren
naar een andere host in een computercluster.

https://en.wikipedia.org/wiki/Container_%28virtualization%29

Docker en Kubernetes zijn software om containers te managen op Linux,
Windows en MacOs systemen. Als je een Linux container wilt draaien op
de Azure Cloud van Microsoft gebeurt dat waarschijnlijk binen een Linux
VM.

https://en.wikipedia.org/wiki/Docker_%28software%29

Het onderwerp is uitgebreider aan bod gekomen in NLLGG-lezingen.

Met vriendelijke groet,



Daniel von Asmuth

-- 
	
		Geeks of a feather cruft together
		


Meer informatie over de Linux maillijst