När vi talar om teknikens framtid vet många erfarna tekniker att virtualisering och containerisering är väldigt mycket den vägen. De möjliggör större applikations- och tjänstesäkerhet, och de hanteras enkelt genom andra tjänster som möjliggör snapshotting, mallar och större anpassning än vad du får med modellen för en server per applikation. Det är dock inte alltid helt klart hur du ska komma igång med virtualisering och containerisering. Vi har täckt virtualisering på Linux, Windows och macOS många gånger tidigare, men containerisering tenderar att vara lite annorlunda. Vi ger dig i den här artikeln en nybörjarguide till Podman på Linux, ett bra verktyg för containerisering.
Vad är behållare?
Behållare är i huvudsak små virtuella maskiner – men bara för applikationer. De använder mycket av samma koncept och har mycket av samma säkerhets- och användarvänliga funktioner, men de är mycket mindre och möjliggör enkel avbildning och distribution av en applikation. Det här är mycket av vad Flatpaks och Snaps bygger på. Du kan börja se parallellerna: ett program, flera applikationer som körs i isolerade miljöer.
Vad är Podman?
Många av oss har hört talas om Docker, OG för containermotorer. Podman är en liknande containermotor som använder mycket liknande struktur som Docker med ett par viktiga skillnader.
En är att Podman är demonlös, medan Docker förlitar sig på en demon. Detta innebär att Podman-containrar kan fungera utan behörigheter på rotnivå, vilket möjliggör mer säkerhet och flexibilitet. En container som körs på användarnivå innebär att användare bara kan se sina containrar och ingen annans. Podman är lättare för systemresurser på grund av den enklare arkitekturen, vilket ger en trevligare upplevelse.
Den demonlösa arkitekturen leder till något som kallas rotlösa behållare. Det är ett koncept som bygger på den tidigare skillnaden men fokuserar på säkerhet. Om en angripare äventyrar din behållare och lyckas fly av någon anledning, har de bara grundläggande användarbehörigheter snarare än rotbehörigheter. Detta kräver lite extra installation för att komma igång, och det finns några brister just nu, men det är något som är värt att titta.
Installerar Podman
För de flesta distros finns Podman i huvudförvaren, vilket gör det till ett enkelt installationskommando:
# Debian/Ubuntu sudo apt install podman # Fedora/CentOS/Redhat sudo dnf install podman # Arch Linux sudo pacman -S podman # OpenSUSE sudo zypper install podman # Gentoo sudo emerge app-emulation/podman
Använda Podman
Kommandosyntaxen för att starta en Podman-behållare kan vara lite förvirrande, men när du börjar få tag på den börjar du känna igen mönstren. Det finns en exempelbehållare från projektet som du kan köra genom att ange detta kommando i terminalen:
podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d -e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf -e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd

Det kommer att dra några bilder från registret som är listat, och när det är klart får du ett långt antal. Du kommer att se det senare när du kontrollerar att containrar som körs.
För att kontrollera igång Podman-containrar, ange följande kommando:
podman ps

Du ser behållaren som du startade tidigare. Detta bekräftar att det körs. Men om du vill titta specifikt på webbsidan som Apache kör, kör du följande kommando:
curl http://0.0.0.0:8080
Byter ut 0.0.0.0
med vilken IP-adress som helst när du körde podman ps
kommando. Du borde få en massa förvrängd HTML, men om du tittar högst upp ser du syntaxen för en titel i HTML och vet att den fungerar.
<title>Test Page for the Apache HTTP Server on Fedora</title>
Podman-bilder
Något som är trevligt med Podman använder bilder. Du kan söka efter andra bilder som httpd
eller andra program som du är intresserad av att köra.
podman search CONTAINERNAME
Jag sökte efter vncserver
, och det här är vad jag fick. Du kan se att det finns många alternativ, och det kommer bara ner till din personliga preferens.

För att ta en av dessa bilder, kör podman pull
kommando.
podman pull CONTAINERNAME
Det rekommenderas att du tar hela webbadressen för att containerregistret ska vara helt korrekt. Som ett exempel är kommandot jag kör:
podman pull docker.io/michaelaboeckler/vncserver
snarare än att bara springa podman pull vncserver
eftersom det kan finnas bilder som jag inte vill att ska väljas istället för den jag vill ha.

Du kan också kontrollera dina bilder med det här kommandot:
podman images
Och stoppa containrar med det här kommandot:
podman stop -l
De -l
flaggan betyder att den stoppar den senaste körningsbehållaren, men du kan också använda -a
flagga för att stoppa alla containrar.
Du kanske har märkt att Podman också kan titta på docker.io för containerbilder. Det beror på att Podman-kommandona och Docker-kommandona i princip är desamma – så mycket att det ibland rekommenderas att alias docker
kommando till podman
så här:
alias docker='podman'
Det betyder när du går in docker
kommer din maskin att köra podman
kommando ändå.
Rootless Podman
För att ställa in ditt system för rootless behållare finns det en del inställningar att gå igenom, men det finns bra dokumentation om deras Github-sida.
Jag hoppas att du gillade den här grundfärgen på Podman, ett fantastiskt litet verktyg som låter dig köra demonlösa, rotlösa behållare för att hålla ditt system magert, snyggt och säkert. Om du gjorde det, se till att kolla in något av vårt andra containerinnehåll, som våra guider om att köra Ubuntu i en container i ChromeOS, kopiera Docker-behållare till en annan värd och begränsa Docker Container-resurser.
Relaterad:
-
Så här ställer du in en lokal webbserver (Windows, Mac, Linux)
-
Hur du hanterar ditt Linux-system med cockpit
-
Hur man installerar Docker i Linux