Waar Docker thuishoort op Proxmox: de plaatsingskeuze en de compose-val
Waar je containers neerzet is geen kwestie van smaak, het is een kwestie van schadestraal. En een compose-bestand ziet eruit als configuratie terwijl het een programma is dat je uitvoert.
AtlasPVE ·
Dit artikel beantwoordt
- docker installeren op proxmox
- proxmox docker in lxc of vm
- docker op de proxmox host
- is docker compose veilig
- waar containers draaien op proxmox
Proxmox staat er en je wilt containers draaien. De vraag is niet "hoe installeer ik het", maar waar zet ik het neer. En dat is geen kwestie van smaak, het is een kwestie van hoeveel dingen stukgaan als er één stukgaat.
Drie plaatsingen
Rechtstreeks op de host. Het makkelijkst, en precies wat je niet moet doen. De host is de laag waarop al het andere rust. Alles wat je daar installeert ligt nu binnen de schadestraal van elke virtuele machine: een botsing van afhankelijkheden, een volle schijf of een slechte update neemt niet alleen je containers mee maar alles tegelijk.
In een systeemcontainer. Licht en snel opgezet. Daar staat tegenover dat je containers in een container draait, en die opzet heeft eigen scherpe randen: het rechtenmodel, de bestandssysteemlagen, de gedeelde kernel. Bewust gekozen is hij redelijk; gekozen omdat "het makkelijker was" levert hij verrassingen op.
In een virtuele machine. Op papier het zwaarst en in de praktijk het schoonst. Valt de containeropzet om, dan valt één virtuele machine om, niet je server. En wil je hem opnieuw opbouwen, dan bouw je één machine opnieuw op.
De ene vraag die beslist
"Als dit stukgaat, wat gebeurt er met al het andere?" Op de host is het antwoord "alles", in een virtuele machine is het antwoord "eentje". Bronnengebruik, gemak van installeren, dat alles is bijzaak naast dat antwoord.
De tweede helft: compose is een programma
Een compose-bestand ziet eruit als configuratie. Dat is het niet. Het uitvoeren is code uitvoeren, en het draait met jouw rechten. Twee regels erin kunnen de container de hele machine geven.
Wanneer mensen een compose-bestand van internet kopiëren, voelen ze niet het ongemak dat ze voelen bij het kopiëren van een opdracht. Het verschil zit niet in het gevaar maar in het uiterlijk: een opdracht ziet eruit als een opdracht, terwijl compose eruitziet als een instellingenbestand. Daarop lijken maakt het niet veilig.
Vier regels om te bekijken voordat je het uitvoert
Koppelt het het bestandssysteem van de host naar binnen. Vraagt het om bevoorrechte modus. Geeft het de eigen socket van het containerbeheer naar binnen. Gebruikt het het netwerk van de host rechtstreeks.
Deze vier zijn de regels die de containergrens doorboren: staat er één van, dan is die container geen container meer, hij is de host zelf. Ze lezen kost tien seconden, en die tien seconden zijn meer waard dan al het andere in dit artikel.
Wat Atlas doet
Atlas onderzoekt compose-bestanden en installatiescripts voor het installeren, en dat onderzoek staat op de server en niet in de interface. Wat de interface ook stuurt, de controle kan dus niet worden overgeslagen.
Bevindingen komen in twee niveaus. Rood betekent iets dat de container buiten de containergrens tilt, dus rechten gelijk aan die van de host; in dat geval wordt uitdrukkelijke goedkeuring gevraagd. Geel betekent iets dat bewust gedaan kan worden maar waarover je verteld moet worden. Aan de kant van de toepassingscatalogus wordt rood helemaal niet geaccepteerd.
Er is nog één detail en dat telt: de scanner geeft geen mening, hij meldt het feit. Hij zegt niet "dit is gevaarlijk", hij zegt "deze regel doet dat". De lezer beslist, want dezelfde regel kan in de ene opstelling aanvaardbaar en in de andere onaanvaardbaar zijn.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.