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.