Hur man installerar Docker på Debian 12, 11 eller 10

Docker har snabbt vunnit popularitet tack vare dess förmåga att förenkla distributionsprocessen genom att behålla applikationer, vilket säkerställer konsistens i flera miljöer. Dess lätta karaktär och förmåga att skala effektivt har gjort den till en favorit bland utvecklare och IT-proffs.

  • Bärbarhet: Docker-behållare kan köras på alla system som stöder Docker, vilket säkerställer att din applikation fungerar sömlöst i olika miljöer.
  • Isolering: Varje container fungerar självständigt, vilket minskar risken för konflikter och gör det lättare att hantera beroenden.
  • Effektivitet: Behållare delar värd OS-kärnan, vilket gör dem mer effektiva än traditionella virtuella maskiner.
  • Skalbarhet: Docker möjliggör enkel skalning av applikationer, tar emot varierande belastningar genom att lägga till eller ta bort behållare.
  • Versionskontroll: Spåra ändringar och rulla tillbaka till tidigare versioner utan ansträngning, vilket förbättrar arbetsflödet för utveckling och distribution.

Debian är ett föredraget val att para ihop med Docker av flera anledningar:

  • Stabilitet: Debian är känt för sin robusta och pålitliga natur och säkerställer en stabil grund för Docker-containrar.
  • säkerhet: Regelbundna uppdateringar och ett starkt fokus på säkerhet gör Debian till en säker miljö för att distribuera applikationer.
  • Samhällsstöd: Ett stort och aktivt community tillhandahåller omfattande dokumentation och support, vilket gör felsökningen enklare.
  • Prestanda: Lätt och effektiv, Debian säkerställer att Docker-containrar körs smidigt med minimal overhead.

Med introduktionen ur vägen, låt oss utforska hur man installerar Docker på Debian, med hjälp av terminalkommandon och olika metoder för att få igång din miljö effektivt.

Docker förinstallationssteg

Att installera Docker CE på ditt Debiansystem är enkelt men ändå noggrant. Innan vi går in i installationsprocessen, låt oss sätta scenen för en felfri exekvering.

Steg 1: Ta bort tidigare Docker-instanser

Notera: Om du inte har standardversionen av Docker installerad från Debians arkiv, hoppa över borttagningssteget.

Först måste vi rensa alla redan existerande Docker-installationer för att säkerställa en konfliktfri miljö. Tidigare Docker-versioner kan störa vår kommande installation och leda till oväntade fel. Använd följande kommando för att avinstallera äldre Docker-iterationer om de finns:

sudo apt remove docker docker-engine docker.io containerd runc

Skulle det inte finnas några äldre Docker-instanser att ta bort, apt Pakethanteraren kommer att returnera ett meddelande som anger att inget ska avinstalleras.

Det är viktigt att komma ihåg att avinstallation av Docker inte automatiskt tar bort Docker-bilder, behållare, volymer eller nätverk som vanligtvis lagras i /var/lib/docker/. Om du tänker börja om och eliminera all Docker-relaterad data, använd dessa kommandon:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Med detta har du rensat bort eventuella Docker-rester som kan påverka din installationsprocess.

Steg 2: Uppdatera Debian-paket före installation av Docker

Efter att ha tagit bort äldre Docker-versioner, se till att ditt Debian-system är helt uppdaterat som ditt nästa steg. Uppdatering främjar systemstabilitet och säkerställer att dina systempaket har de senaste versionerna, vilket minimerar potentiella konflikter och sårbarheter.

För att uppdatera listan över tillgängliga paket och uppgradera de installerade, kör följande kommando:

sudo apt update && sudo apt upgrade

Detta kommando kommer först att uppdatera listan över tillgängliga paket (apt update), följt av uppgraderingen av eventuella föråldrade paket (apt upgrade).

Importera Docker CE APT Repository

För att framgångsrikt installera Docker CE är det viktigt att konfigurera ditt Debiansystem för att komma åt Docker-förvaret. Detta innebär att integrera Docker-förvaret i ditt system och importera motsvarande GPG-nyckel. Dessa steg säkerställer äktheten hos de nedladdade Docker-paketen och minskar risken för obehöriga ändringar.

Steg 1: Installera initiala paket för Docker CE

Inledningsvis kan systemet sakna de nödvändiga paketen för denna process. Låt oss rätta till det genom att installera dem. Utför följande kommando för att installera dessa viktiga paket:

sudo apt install ca-certificates curl gnupg lsb-release dirmngr software-properties-common apt-transport-https

Här utnyttjar du apt pakethanteraren för att installera en mängd olika verktyg, som ca-certificates för certifikatverifiering, curl att överföra data, gnupg för nyckelhantering och andra nödvändiga för denna process.

Steg 2: Lägg till Docker CE GPG-nyckel

Efter att ha installerat de nödvändiga paketen, låt oss importera Docker GPG-nyckeln. Den här nyckeln gör det möjligt för ditt system att verifiera integriteten hos paket som laddas ner från Docker-förvaret.

Använd följande kommandon för att ladda ner och spara GPG-nyckeln:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

De curl kommandot hämtar GPG-nyckeln från Docker-förvaret, som sedan bearbetas av gpg --dearmor att konvertera det till det binära formatet som apt kräver.

Steg 3: Lägg till Docker CE APT Repository

Med GPG-nyckeln på plats kan du nu importera Docker-förvaret. Här är kommandot för att åstadkomma det:

echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
 $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Detta komplexa kommando lägger till Docker-förvaret till ditt systems källlista och länkar det till den tidigare nedladdade GPG-nyckeln. Den här länken verifierar integriteten för paketen som laddas ner från Docker-förvaret, vilket håller ditt system säkert.

Slutför Docker-installationen

Det här avsnittet beskriver de nödvändiga stegen för att installera Docker CE på ditt Debiansystem. Du kommer att lära dig hur du uppdaterar ditt systems förvarsinformation, installerar Docker och verifierar installationen genom att köra en Docker-testavbildning. Dessutom innehåller avsnittet en avgörande säkerhetspraxis för att säkerställa säker hantering av Docker-behållare och bilder.

Steg 1: Uppdatera Debian APT Cache efter Docker CE Repository Import

Innan du initierar Docker-installationen är det fördelaktigt att säkerställa att ditt systems förvarsinformation är uppdaterad, särskilt med det nyligen tillagda Docker-förrådet. För att uppdatera förvarsinformationen, kör följande kommando:

sudo apt update

Det här kommandot uppdaterar ditt systems paketlistor, inklusive information om de senaste versionerna av paket och deras beroenden.

Steg 2: Installera Docker via APT Command

Med systemets förvarsinformation uppdaterad kan du fortsätta med Docker-installationen. Här är kommandot för att installera Docker tillsammans med några ytterligare plugins som förbättrar din Docker-upplevelse:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

I det här kommandot installerar du docker-ce (Docker Community Edition), docker-ce-cli (Dockers kommandoradsgränssnitt), containerd.io (en branschstandard körtid) och två användbara Docker-plugins för att bygga bilder och hantera applikationer med flera behållare.

Steg 3: Verifiera Docker CE-installationen på Debian

Efter att ha slutfört Docker-installationen, verifiera försiktigt att den är korrekt installation genom att köra en test Docker-avbildning:

sudo docker run hello-world

Detta kommando drar hello-world bild från Docker-förvaret, skapar en ny behållare från den här bilden och kör behållaren. När den körs skriver den ut ett välkomstmeddelande, vilket bekräftar att Docker fungerar som förväntat.

Steg 4: Kör Docker som en icke-rootanvändare

Av säkerhetsskäl, konfigurera Docker att köras som en icke-root-användare. Denna praxis skyddar ditt system mot oavsiktliga eller skadliga ändringar som kan orsaka skada. Ett senare avsnitt kommer att diskutera denna aspekt mer ingående.

Docker felsökningstips

När du interagerar med Docker-behållare och bilder, om du stöter på några problem, kan en omstart av systemet hjälpa till att lösa dem, särskilt de som är relaterade till sökvägsgenerering. För att starta om ditt system, använd följande kommando:

reboot

Hantera Docker via Systemd

Detta segment kommer att utforska hur man manipulerar Docker-tjänsten med systemd. Systemd är en grundläggande komponent i många Linux-distributioner, inklusive Debian, och tillhandahåller funktioner för att administrera systemprocesser och tjänster. Eftersom Docker installerar en systemd-enhet på ditt Debian-system, är detta ett effektivt sätt att hantera Docker-tjänsten.

Starta Docker-tjänsten via systemd

För att kunna använda Docker måste tjänsten köras aktivt på ditt Debiansystem. Systemd underlättar detta genom följande kommando:

systemctl start docker.service

Detta kommando startar Docker-tjänsten och konfigurerar den att starta automatiskt vid systemstart, vilket säkerställer att den är tillgänglig efter varje start.

Stoppa Docker Service via systemd

Under vissa omständigheter kanske du vill stoppa Docker-tjänsten. Systemd ger ett enkelt kommando för att åstadkomma detta:

systemctl stop docker.service

Detta kommando stoppar Docker-tjänsten och förhindrar att den startar automatiskt vid nästa systemstart.

Starta om Docker Service via systemd

Du kanske ibland vill starta om Docker-tjänsten, särskilt när du felsöker Docker-relaterade problem. Systemd tillhandahåller funktionen för att starta om Docker-tjänsten med detta kommando:

systemctl restart docker.service

Detta kommando stoppar och startar Docker-tjänsten och tillämpar de senaste konfigurationerna.

Kontrollera Docker Service Status via systemd

För att kontrollera operativa status för Docker-tjänsten, oavsett om den är igång, stoppad eller inaktiv, kan du använda följande systemd-kommando:

systemctl status docker.service

Kommandot hämtar och visar den aktuella statusen för Docker-tjänsten, vilket ger insikter i dess drifttillstånd.

Aktivera Docker Service på Debian System Boot via systemd

Om du vill att Docker-tjänsten ska starta automatiskt vid systemstart, är att aktivera den via systemd den föredragna metoden:

systemctl enable docker.service

Detta kommando justerar Docker-tjänstens inställningar så att de startar automatiskt vid varje systemstart, vilket ger kontinuerlig tillgång till Docker-funktioner.

Inaktivera Docker Service vid systemstart via systemd

Om du bestämmer dig för att inte låta Docker-tjänsten starta automatiskt under systemstart, kan systemd tillgodose denna begäran med följande kommando:

systemctl disable docker.service

Detta kommando ändrar Docker-tjänstens inställningar, vilket förhindrar att det startas automatiskt vid systemstart.

Genom att använda systemkommandon kan du effektivt hantera Docker-tjänsten på ditt Debiansystem, vilket ger en hög grad av kontroll över Dockers operativa beteende. Följande avsnitt kommer att dyka in i mer detaljer om att använda och hantera Docker-behållare och bilder.

Exempel på hur man konfigurerar Docker

I den här guidedelen fördjupar vi oss i att ställa in Docker-konfigurationer. Detta inkluderar att hantera Docker som en icke-rootanvändare, vilket förbättrar säkerheten, och att ändra standardloggningsdrivrutinen för att bättre passa dina behov.

Steg 1: Kör Docker som en icke-rotanvändare

Även om du kan köra Docker som en root-användare, avråds det från att göra det på grund av potentiella säkerhetsrisker och oavsiktliga modifieringar av ditt Debian-värdsystem. Hantera istället Docker-operationer under ett icke-rootanvändarkonto för att förbättra säkerheten.

För att skapa en ny användare specifikt för Docker-hantering, kör följande kommandon:

sudo useradd -m dockeruser
sudo usermod -aG docker dockeruser

Dessa kommandon skapar en ny användare som heter 'dockeruser' och lägger till denna användare till Docker-gruppen. Att vara medlem i Docker-gruppen ger en användare nödvändiga behörigheter för att köra Docker-kommandon.

Om du vill tilldela din nuvarande användare till Docker-gruppen, ersätt 'dockeruser' med ditt användarnamn. Till exempel, för en användare som heter 'joshua', skulle kommandot vara:

sudo usermod -aG docker joshua

När du har gjort dessa ändringar, logga ut och in igen för att tillämpa ändringarna. Ibland kan du behöva starta om systemet för att sprida dessa ändringar.

För att bekräfta att användaren har behörighet att köra Docker-kommandon, använd följande kommando:

docker ps

Kommandot ska visa en lista över körande Docker-behållare, vilket betyder att installationen lyckades.

Steg 2: Ändra Standard Docker Logging Driver

Docker loggar som standard händelser i JSON-filformat. Docker's flexibilitet tillåter dig dock att ändra standardloggningsdrivrutinen till ett annat format eller till och med konfigurera den för att vidarebefordra loggar till ett fjärrlogghanteringssystem.

För att ändra standardloggningsdrivrutinen måste du skapa en ny fil som heter daemon.json i /etc/docker/ katalog. Använd en textredigerare som nano och kör följande kommando:

sudo nano /etc/docker/daemon.json

När filen är öppen, klistra in följande innehåll i den:

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "tcp://logs.example.com:514",
    "syslog-facility": "daemon",
    "tag": "{{.Name}}"
  }
}

Docker använder syslog-drivrutinen i den här konfigurationen och vidarebefordrar loggar till en fjärransluten syslog-server. Ersätt logs.example.com med din syslog-servers adress.

När konfigurationen är på plats, starta om Docker-demonen med följande kommando för att tillämpa de nya inställningarna för loggningsdrivrutinen:

sudo systemctl restart docker.service

Kom ihåg alla ändringar som gjorts i daemon.json fil kräver en omstart av Docker-demonen för att ändringarna ska tillämpas.

Docker Command Exempel

I det här segmentet fördjupar vi oss i användningen av Docker-kommandon som spelar en viktig roll för att effektivt hantera Docker-behållare, bilder, nätverk och volymer. De docker command ger en robust och mångsidig verktygsuppsättning designad för att förenkla och automatisera uppgifter i din Docker-miljö.

Grunderna i Docker-kommandon

Att bekanta sig med Dockers kommandoradsgränssnitt (CLI) är viktigt för att behärska Docker. Nedan finns ett urval av kommandon som du ofta kommer att stöta på under din Docker-resa:

  • docker run: Startar en ny behållare från en bild.
  • docker ps: Visar alla behållare som körs för närvarande.
  • docker images: Listar alla lokalt tillgängliga bilder.
  • docker build: Konstruerar en ny bild från en Dockerfil.
  • docker stop: Stoppar en container som körs för närvarande.
  • docker rm: Eliminerar en behållare.
  • docker rmi: Tar bort en bild.
  • docker network: Administrerar Docker-nätverk.
  • docker volume: Hanterar Docker-volymer.

Varje kommando har en unik uppsättning alternativ som låter dig ändra dess beteende för att möta dina behov. Låt oss utforska varje kommando och dess respektive alternativ.

De hamnarkörning Kommando

De docker run kommandot skapar en ny behållare från en angiven bild. Till exempel, för att initiera en behållare från Debian-avbildningen och öppna ett interaktivt skal i den, använd följande kommando:

docker run -it debian:latest /bin/bash

De hamnare ps Kommando

De docker ps kommandot distribueras för att värva alla för närvarande aktiva behållare. Den avslöjar värdefull information om varje container, inklusive container-ID, tillhörande bild och körstatus. För att få en lista över alla behållare som körs, skriv helt enkelt:

docker ps

De docker-bilder Kommando

De docker images kommandot har till uppgift att lista alla lokalt tillgängliga Docker-bilder. Den returnerar information om varje bild, inklusive dess ID, tillhörande arkiv och tagg:

docker images

De hamnarbyggare Kommando

De docker build kommandot används för att skapa en ny Docker-bild från en Dockerfil. En Dockerfil är i huvudsak ett skript som innehåller instruktioner för att konstruera en Docker-bild. Till exempel, för att bygga en ny bild med namnet 'myimage' med hjälp av Dockerfilen i den aktuella katalogen, skulle du använda följande kommando:

docker build -t myimage:latest .

De hamnarstopp Kommando

De docker stop kommandot avslutar graciöst en körande Docker-behållare. Du kan rikta in den önskade behållaren med dess ID. För att till exempel stoppa en behållare med ID 'abcdefg' skulle du använda:

docker stop abcdefg

De hamnarbetare rm Kommando

Använd docker rm kommando för att ta bort en Docker-behållare. Som stop kommandot, ange behållar-ID för behållaren du vill ta bort. Till exempel:

docker rm abcdefg

De dockare rmi Kommando

Använd docker rmi kommando för att ta bort Docker-bilder. Identifiera bilden du vill radera med dess ID. Till exempel:

docker rmi 1234567

De hamnarnätverk Kommando

De docker network command är ett mångsidigt verktyg för att skapa, lista och ta bort Docker-nätverk. Till exempel, för att skapa ett nytt nätverk med namnet "mitt nätverk", skulle du använda:

docker network create mynetwork

De docker volym Kommando

Slutligen, den docker volume kommandot erbjuder funktioner för att hantera Docker-volymer. Till exempel, för att skapa en ny volym som heter 'min volym', skulle du använda:

docker volume create myvolume

Navigera i Docker Container Management

Att effektivt hantera Docker-containrar påverkar avsevärt funktionaliteten och livslängden i en Docker-miljö. Docker-kommandot tillhandahåller en mängd viktiga underkommandon för att manipulera Docker-behållare. Dessa underkommandon underlättar skapande, drift, modifiering och radering av behållare. Oavsett om du är en erfaren utvecklare eller nybörjare inom containerisering, kan förståelse av dessa kommandon förbättra din Docker-interaktion avsevärt.

Kärnkommandon för Docker Container Management

Kommandot docker ps är ett viktigt verktyg i din Docker-verktygslåda för att räkna upp alla körda behållare. Genom att utföra detta kommando kan du se alla aktiva behållare, deras motsvarande bild, status och unika behållar-ID.

docker ps

För att avsluta en för närvarande aktiv Docker-behållare, docker stop kommandot utplaceras. Du lägger till det unika ID eller namn på behållaren du vill stoppa.

docker stop abcdefg

De docker rm kommandot används för att radera en Docker-behållare. Detta kommando, som docker stop, accepterar antingen behållarens unika ID eller namn som argument.

docker rm abcdefg

Det är viktigt att notera att om du tar bort en behållare förkastas alla ändringar som gjorts. Du måste skapa en ny bild från den modifierade behållaren med kommandot 'docker commit' för att behålla ändringarna.

Behålla containerändringar med docker commit

När du arbetar med Docker-behållare kan du behöva anpassa en behållare och bevara dessa ändringar som en ny bild. Detta kan åstadkommas med hjälp av docker commit kommando.

Initiera en ny behållare med hjälp av en basbild och gör nödvändiga ändringar i denna behållare. Överväg till exempel att starta en ny behållare från Debian-avbildningen och öppna ett skal inuti behållaren:

docker run -it --name mycontainer debian:latest /bin/bash

Du kan utföra olika uppgifter i den här nya behållaren, som att ändra konfigurationsfiler eller installera ny programvara. När du har gjort de önskade ändringarna, använd docker commit kommando för att skapa en ny bild som kapslar in dessa ändringar. För att skapa en ny bild med namnet 'myimage' med ändringarna som gjorts i 'mycontainer'-behållaren, kör följande kommando:

docker commit mycontainer myimage:latest

Du har nu en bild som heter 'myimage', som innehåller ändringar som gjorts i 'mycontainer'-behållaren. Använd den här nya bilden för att generera och använda nya behållare med uppdaterade konfigurationer eller mjukvara.

Kom ihåg att docker commit-kommandot endast sparar ändringar som gjorts i containerns filsystem, och bevarar inte ändringar i nätverk och lagring. Om det är nödvändigt att behålla ändringar i nätverk och lagring, överväg att använda andra Docker-kommandon som docker-nätverk och dockervolym.

Avslutar

Vi fördjupade oss i att installera och hantera Docker Community Edition (CE) på en Debian Linux-distribution under hela vår diskussion. Docker CE ger alla fördelar med containerisering, vilket gör att utvecklare kan bygga, skicka och köra distribuerade applikationer i olika miljöer. Docker-kommandona och användningsfall som diskuteras här erbjuder grundläggande kunskap för att hantera Docker-behållare. Medan artikeln berörde grundläggande Docker-kommandon som docker run, docker ps, docker rm, och andra.

Kom ihåg att Docker-ekosystemet är mycket bredare, med många kommandon och alternativ som du kan utforska för att finjustera din Docker-upplevelse.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar