Hoppa till innehåll
Installation

Installera Podman

Kör containrar med nästan samma kommandon som Docker, utan bakgrundstjänst och utan administratörsrättigheter.

Senast granskad:

Vad Podman är

Ett program som kör containrar, alltså färdigpaketerade program som startar likadant på varje dator. Samma sak som Docker gör, och med nästan samma kommandon. Skriver du podman i stället för docker fungerar det mesta du redan lärt dig.

Två skillnader är värda att känna till. Podman kör utan en bakgrundstjänst som måste vara igång, vilket betyder färre rörliga delar. Och Podman kör containrar som din vanliga användare i stället för som systemets administratör, vilket betyder att ett program som går sönder inuti containern inte har tillgång till hela datorn.

Behöver ett företag byta från Docker? Nej. Men om du ändå ska välja ett, och särskilt om du kör Linux, är Podman ett fullgott val utan licensfrågor.

Linux Mint

Här är det enklast. Öppna Terminal och kör:

sudo apt-get update
sudo apt-get install podman

Det är hela installationen. Ingen tjänst att starta, ingen omstart. Kontrollera med:

podman run hello-world

Får du en hälsningstext fungerar allt. Första gången frågar Podman ofta vilket bildarkiv den ska hämta från, och du väljer docker.io i listan. Kommer det i stället ett felmeddelande om att namnet inte gick att slå upp, skriv docker.io/library/hello-world i sin helhet så slipper Podman gissa.

Windows

På Windows kör Podman containrarna inuti WSL2, alltså Windows egen inbyggda Linux. Det är inte något du behöver förstå i detalj, men det förklarar varför installationen har ett extra steg.

Installera först WSL2 om det inte redan finns. Öppna PowerShell som administratör, kör wsl --install och starta om datorn.

Hämta sedan Podman Desktop från podman-desktop.io och kör installationsprogrammet. Det ger dig både det grafiska gränssnittet och kommandot podman i PowerShell.

Innan något kan köras behöver du starta den Linux-maskin som containrarna bor i:

podman machine init
podman machine start

Det första kommandot körs en gång. Det andra körs varje gång du startat om datorn, om du inte ställt in att maskinen ska starta automatiskt. Kontrollera sedan med podman info.

Tre saker att göra först

  1. Prova att det du redan kan fungerar. Kör podman run -d -p 8080:80 nginx och surfa till http://localhost:8080. Det är samma kommando som med Docker, bara ett annat första ord, och att se det fungera tar bort mycket oro.
  2. Kör podman ps och sedan podman stop med namnet du får. Att kunna se vad som kör och stänga av det är halva vardagen med containrar, och de två kommandona räcker längre än man tror.
  3. Prova compose-filer om du har några sedan tidigare. Paketet podman-compose installeras med sudo apt-get install podman-compose på Mint, och läser samma filer som Docker Compose. Stöd finns, men är inte hundra procent, så räkna med att någon fil behöver en justering.

Den vanligaste fällan

Portar under 1024. Eftersom Podman kör som din vanliga användare, och inte som administratör, får den inte öppna de låga portarna. Kommandot podman run -p 80:80 nginx ger därför ett nekande svar på Linux, medan exakt samma kommando med Docker fungerar. Det ser ut som att Podman är trasigt. Det är i själva verket den säkerhet du valde.

Lösningen är att använda en hög port utåt, alltså -p 8080:80, och det räcker i nästan alla lägen medan du utvecklar. Ska tjänsten ligga på riktig port 80 utåt löser man det på servern med en omdirigering, inte genom att köra hela Podman som administratör.

Den andra halvan: containrar som du startat som din användare syns inte om du sedan kör sudo podman ps. De är två skilda världar med varsin lista. Blanda inte sudo in i det här, så slipper du undra vart dina containrar tog vägen.

Varukorg

Laddar