# Har udrullet et containerplan på Podman og Quadlet under systemd frem for Docker, fordi Docker publicerer containerporte over værtens egne firewallregler — og har givet deploys en uprivilegeret bruger med én fast kommando i stedet for root.

2025

**Situation.** Platformen havde brug for et sted at køre applikationscontainere. Det oplagte valg var branchestandarden, og det oplagte valg var forkert for denne vært på en bestemt måde: den omskriver kernens pakkefilterregler og publicerer containerporte over de firewallregler, hærdningsrollen installerer, så en container tavst bliver tilgængelig fra internettet uanset hvad firewallen fik at vide.

**Opgave.** Der skulle vælges et containerplan, som ikke går uden om firewallen, ikke tilføjer endnu en supervisor ved siden af den, der allerede var betroet, og ikke kræver at en person er root for at sende en release ud.

**Handling.** Planet er en dæmonløs containermotor, der driver units genereret af styresystemets egen supervisor. Der er ingen anden proceshåndtering: containere er tjenester, de starter som tjenester starter, og de beskrives i den samme deklarative form som alt andet. Containerne bruger værtens netværk uden nogen publicerede porte overhovedet, hvilket fjerner spørgsmålet om firewall‑omgåelse frem for at afbøde det. Units kører på systemniveau frem for rootless, og det er noteret som en afvejning — det holder automatiseringen enkel og normal, på bekostning af den strengere isolation rootless ville give, og noten siger hvilken vej man skal gå, hvis containerudbrud nogensinde kommer til at betyde mere end enkel automatisering. Udrulning blev adskilt fra provisionering: root sætter udrulningsstien op én gang, og derefter genudruller en uprivilegeret bruger ved at køre ét fast script gennem en afgrænset regel, der tillader den kommando og ingen argumenter. Byg imaget, genstart tjenesten. Ingen root‑shell, ingen vilkårlige kommandoer.

**Resultat.** Containere kører under den supervisor, der allerede var betroet, bag den firewall der allerede var erklæret, og en rutinemæssig release kræver ingen privilegeret adgang. Valget mod standarden er skrevet ned med sin begrundelse, hvilket betyder mere end valget — den næste person vil få at vide, at man skal bruge standarden, af hver eneste artikel de læser.

---

- Rolle: Infrastrukturautomatiseringsingeniør
- Kategorier: [DevOps](https://engineer.company/da/categories/devops/), [Infrastruktur](https://engineer.company/da/categories/infrastructure/), [Containere (Docker/Kubernetes)](https://engineer.company/da/categories/containers/), [Automatisering & CI/CD](https://engineer.company/da/categories/automation/), [Linux & servere](https://engineer.company/da/categories/linux/), [Sikkerhed](https://engineer.company/da/categories/security/)
- Ydelser: [Cloud‑infrastruktur & migrering](https://engineer.company/da/services/cloud-infrastructure/), [DevOps & CI/CD‑automatisering](https://engineer.company/da/services/devops-cicd/), [Containerisering & orkestrering](https://engineer.company/da/services/containerization/), [Sikkerhed & adgangsstyring](https://engineer.company/da/services/security-access/)

<https://engineer.company/da/portfolio/deployed-a-container-plane-on-podman-and-quadlet-122/>
