Sådan installeres Docker på Debian 12, 11 eller 10

Docker har hurtigt vundet popularitet på grund af dets evne til at forenkle implementeringsprocessen ved at containerisere applikationer, hvilket sikrer ensartethed på tværs af flere miljøer. Dens lette natur og evne til at skalere effektivt har gjort den til en favorit blandt udviklere og it-professionelle.

  • Bærbarhed: Docker-containere kan køre på ethvert system, der understøtter Docker, hvilket sikrer, at din applikation fungerer problemfrit på tværs af forskellige miljøer.
  • Isolation: Hver container fungerer uafhængigt, hvilket reducerer risikoen for konflikter og gør det nemmere at håndtere afhængigheder.
  • Effektivitet: Containere deler værts-OS-kernen, hvilket gør dem mere effektive end traditionelle virtuelle maskiner.
  • Skalerbarhed: Docker giver mulighed for nem skalering af applikationer, der kan rumme varierende belastninger ved at tilføje eller fjerne beholdere.
  • Versionskontrol: Spor ændringer og rul tilbage til tidligere versioner uden besvær, hvilket forbedrer udviklings- og implementeringsworkflowet.

Debian er et foretrukket valg at parre med Docker af flere årsager:

  • Stabilitet: Kendt for sin robuste og pålidelige natur sikrer Debian et stabilt grundlag for Docker-containere.
  • Sikkerhed: Regelmæssige opdateringer og et stærkt fokus på sikkerhed gør Debian til et sikkert miljø til implementering af applikationer.
  • Fællesskabsstøtte: Et stort og aktivt fællesskab giver omfattende dokumentation og support, hvilket gør fejlfinding nemmere.
  • Ydeevne: Let og effektiv, Debian sikrer, at Docker-containere kører problemfrit med minimal overhead.

Med introduktionen af ​​vejen, lad os undersøge, hvordan du installerer Docker på Debian, ved at bruge terminalkommandoer og forskellige metoder til at få dit miljø op at køre effektivt.

Docker præinstallationstrin

Opsætning af Docker CE på dit Debian-system er ligetil, men alligevel omhyggelig. Før vi dykker ned i installationsprocessen, lad os sætte scenen for en fejlfri udførelse.

Trin 1: Fjern tidligere Docker-forekomster

Bemærk: Hvis du ikke har standardversionen af ​​Docker installeret fra Debians lager, skal du springe fjernelsestrinnet over.

For det første skal vi rense alle allerede eksisterende Docker-installationer for at sikre et konfliktfrit miljø. Tidligere Docker-versioner kan forstyrre vores kommende installation og føre til uventede fejl. Brug følgende kommando til at afinstallere ældre Docker-iterationer, hvis de findes:

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

Skulle der ikke være nogen ældre Docker-forekomster at fjerne, apt Pakkehåndtering returnerer en besked, der angiver, at der ikke skal afinstalleres.

Det er afgørende at huske, at afinstallation af Docker ikke automatisk sletter Docker-billeder, -beholdere, -volumener eller -netværk, der normalt er gemt i /var/lib/docker/. Hvis du har til hensigt at starte forfra og fjerne alle Docker-relaterede data, skal du bruge disse kommandoer:

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

Med dette har du fjernet alle potentielle Docker-rester, der kan påvirke din installationsproces.

Trin 2: Opdater Debian-pakker før Docker-installation

Når du har fjernet ældre Docker-versioner, skal du sikre dig, at dit Debian-system er fuldt opdateret som dit næste trin. Opdatering fremmer systemstabilitet og sikrer, at dine systempakker er i deres nyeste versioner, hvilket minimerer potentielle konflikter og sårbarheder.

For at opdatere listen over tilgængelige pakker og opgradere de installerede, skal du køre følgende kommando:

sudo apt update && sudo apt upgrade

Denne kommando vil først opdatere listen over tilgængelige pakker (apt update), efterfulgt af opgradering af eventuelle forældede pakker (apt upgrade).

Importer Docker CE APT Repository

For at installere Docker CE er det vigtigt at konfigurere dit Debian-system til at få adgang til Docker-lageret. Dette involverer at integrere Docker-depotet i dit system og importere den tilsvarende GPG-nøgle. Disse trin sikrer ægtheden af ​​de downloadede Docker-pakker og mindsker risikoen for uautoriserede ændringer.

Trin 1: Installer indledende pakker til Docker CE

I første omgang kan systemet mangle de nødvendige pakker til denne proces. Lad os rette op på det ved at installere dem. Udfør følgende kommando for at installere disse kritiske pakker:

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

Her udnytter du apt pakkehåndtering til at installere en række værktøjer, f.eks ca-certificates til certifikatbekræftelse, curl at overføre data, gnupg til nøgleledelse og andre nødvendige for denne proces.

Trin 2: Tilføj Docker CE GPG-nøgle

Efter at have installeret de nødvendige pakker, lad os importere Docker GPG-nøglen. Denne nøgle gør dit system i stand til at verificere integriteten af ​​pakker, der er downloadet fra Docker-lageret.

Brug følgende kommandoer til at downloade og gemme GPG-nøglen:

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

Det curl kommandoen henter GPG-nøglen fra Docker-lageret, som derefter behandles af gpg --dearmor at konvertere det til det binære format apt kræver.

Trin 3: Tilføj Docker CE APT Repository

Med GPG-nøglen på plads kan du nu importere Docker-depotet. Her er kommandoen til at opnå 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

Denne komplekst udseende kommando tilføjer Docker-lageret til dit systems kildeliste og linker det til den tidligere downloadede GPG-nøgle. Dette link verificerer integriteten af ​​de pakker, der er downloadet fra Docker-lageret, og holder dit system sikkert.

Afslut Docker-installation

Dette afsnit beskriver de nødvendige trin for at installere Docker CE på dit Debian-system. Du lærer, hvordan du opdaterer dit systems lageroplysninger, installerer Docker og verificerer installationen ved at udføre et test Docker-image. Desuden indeholder afsnittet en afgørende sikkerhedspraksis for at sikre sikker håndtering af Docker-containere og -billeder.

Trin 1: Opdater Debian APT Cache efter Docker CE Repository Import

Før du starter Docker-installationen, er det en fordel at sikre, at dit systems lageroplysninger er opdaterede, især med det nyligt tilføjede Docker-lager. For at opdatere lageroplysningerne skal du udføre følgende kommando:

sudo apt update

Denne kommando opdaterer dit systems pakkelister, inklusive detaljerne om de seneste versioner af pakker og deres afhængigheder.

Trin 2: Installer Docker via APT Command

Med systemets lageroplysninger opdateret, kan du fortsætte med Docker-installationen. Her er kommandoen til at installere Docker sammen med nogle ekstra plugins, der forbedrer din Docker-oplevelse:

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

I denne kommando installerer du docker-ce (Docker Community Edition), docker-ce-cli (Docker kommandolinjegrænseflade), containerd.io (en branchestandard runtime) og to nyttige Docker-plugins til at bygge billeder og administrere multi-container-applikationer.

Trin 3: Bekræft Docker CE-installation på Debian

Når du har fuldført Docker-installationen, skal du forsigtigt verificere dens korrekte installation ved at køre et test Docker-image:

sudo docker run hello-world

Denne kommando trækker hello-world billede fra Docker-lageret, opretter en ny container fra dette billede og kører containeren. Når den udføres, udskriver den en velkomstbesked og bekræfter dermed, at Docker fungerer som forventet.

Trin 4: Kørsel af Docker som en ikke-rootbruger

Af sikkerhedsmæssige årsager skal du konfigurere Docker til at køre som en ikke-rootbruger. Denne praksis beskytter dit system mod utilsigtede eller ondsindede ændringer, der kan forårsage skade. Et senere afsnit vil diskutere dette aspekt mere grundigt.

Docker-fejlfindingstip

Mens du interagerer med Docker-containere og -billeder, hvis du støder på problemer, kan en systemgenstart hjælpe med at løse dem, især dem, der er relateret til stigenerering. For at genstarte dit system skal du bruge følgende kommando:

reboot

Håndtering af Docker via Systemd

Dette segment vil undersøge, hvordan man manipulerer Docker-tjenesten ved hjælp af systemd. Systemd er en grundlæggende komponent i mange Linux-distributioner, inklusive Debian, og giver funktioner til at administrere systemprocesser og -tjenester. Da Docker installerer en systemd-enhed på dit Debian-system, præsenterer dette en effektiv måde at administrere Docker-tjenesten på.

Start af Docker-tjenesten via systemd

For at bruge Docker skal tjenesten køre aktivt på dit Debian-system. Systemd letter dette gennem følgende kommando:

systemctl start docker.service

Denne kommando starter Docker-tjenesten og konfigurerer den til at starte automatisk ved systemstart, hvilket sikrer, at den er tilgængelig efter hver opstart.

Stop Docker Service via systemd

Under visse omstændigheder vil du måske stoppe Docker-tjenesten. Systemd giver en ligetil kommando til at opnå dette:

systemctl stop docker.service

Denne kommando stopper Docker-tjenesten og forhindrer den i at starte automatisk ved næste systemstart.

Genstart Docker Service via systemd

Du vil måske nogle gange genstarte Docker-tjenesten, især når du fejlfinder Docker-relaterede problemer. Systemd giver funktionaliteten til at genstarte Docker-tjenesten med denne kommando:

systemctl restart docker.service

Denne kommando stopper og starter Docker-tjenesten og anvender effektivt de seneste konfigurationer.

Tjek Docker Service Status via systemd

For at kontrollere den operationelle status for Docker-tjenesten, uanset om den kører, stoppet eller inaktiv, kan du bruge følgende systemd-kommando:

systemctl status docker.service

Kommandoen henter og viser den aktuelle status for Docker-tjenesten, hvilket giver indsigt i dens driftstilstand.

Aktiver Docker Service på Debian System Boot via systemd

Hvis du ønsker, at Docker-tjenesten skal starte automatisk ved systemopstart, er aktivering via systemd den foretrukne metode:

systemctl enable docker.service

Denne kommando justerer Docker-tjenesteindstillingerne, så de starter automatisk ved hver systemopstart, hvilket giver konstant tilgængelighed af Docker-funktioner.

Deaktiver Docker Service ved systemstart via systemd

Hvis du beslutter dig for ikke at lade Docker-tjenesten starte automatisk under systemstart, kan systemd imødekomme denne anmodning med følgende kommando:

systemctl disable docker.service

Denne kommando ændrer Docker-tjenesteindstillingerne og forhindrer den i at starte automatisk ved systemstart.

Ved at bruge systemkommandoer kan du effektivt administrere Docker-tjenesten på dit Debian-system, hvilket giver en høj grad af kontrol over Dockers operationelle adfærd. De følgende sektioner vil dykke ned i flere detaljer om brug og administration af Docker-containere og -billeder.

Eksempler på hvordan man konfigurerer Docker

I denne guidedel fordyber vi os i opsætning af Docker-konfigurationer. Dette inkluderer administration af Docker som en ikke-rootbruger, hvilket øger sikkerheden og ændring af standardlogningsdriveren, så den bedre passer til dine behov.

Trin 1: Kør Docker som en ikke-rodbruger

Selvom du kan køre Docker som root-bruger, frarådes det at gøre det på grund af potentielle sikkerhedsrisici og utilsigtede ændringer af dit Debian-værtssystem. Administrer i stedet Docker-operationer under en ikke-rootbrugerkonto for at forbedre sikkerheden.

For at oprette en ny bruger specifikt til Docker-administration skal du udføre følgende kommandoer:

sudo useradd -m dockeruser
sudo usermod -aG docker dockeruser

Disse kommandoer opretter en ny bruger ved navn 'dockeruser' og tilføjer denne bruger til Docker-gruppen. At være medlem af Docker-gruppen giver en bruger de nødvendige tilladelser til at køre Docker-kommandoer.

Hvis du ønsker at tildele din nuværende bruger til Docker-gruppen, skal du erstatte 'dockeruser' med dit brugernavn. For eksempel, for en bruger ved navn 'joshua' ville kommandoen være:

sudo usermod -aG docker joshua

Når du har foretaget disse ændringer, skal du logge ud og ind igen for at anvende ændringerne. Nogle gange skal du muligvis genstarte systemet for at udbrede disse ændringer.

For at bekræfte, at brugeren har tilladelse til at køre Docker-kommandoer, skal du bruge følgende kommando:

docker ps

Kommandoen skal vise en liste over kørende Docker-containere, hvilket betyder en vellykket installation.

Trin 2: Rediger standard Docker Logging Driver

Docker logger som standard hændelser i JSON-filformat. Ikke desto mindre giver Dockers fleksibilitet dig mulighed for at ændre standardlogningsdriveren til et andet format eller endda konfigurere den til at videresende logfiler til et eksternt logadministrationssystem.

For at ændre standard logdriveren skal du oprette en ny fil kaldet daemon.json i /etc/docker/ vejviser. Udfør følgende kommando ved at bruge en teksteditor såsom nano:

sudo nano /etc/docker/daemon.json

Når filen er åben, indsæt følgende indhold i den:

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

Docker bruger syslog-driveren i denne konfiguration og videresender logfiler til en ekstern syslog-server. Erstat logs.example.com med din syslog-servers adresse.

Når konfigurationen er på plads, genstart Docker-dæmonen ved hjælp af følgende kommando for at anvende de nye indstillinger for logføringsdriver:

sudo systemctl restart docker.service

Husk venligst eventuelle ændringer i daemon.json fil nødvendiggør en genstart af Docker-dæmonen for at ændringerne kan anvendes.

Eksempler på Docker-kommandoer

I dette segment dykker vi ned i brugen af ​​Docker-kommandoer, der spiller en afgørende rolle i effektiv styring af Docker-containere, -billeder, -netværk og -volumener. Det docker kommando giver et robust og alsidigt værktøjssæt designet til at forenkle og automatisere opgaver i dit Docker-miljø.

Grundlæggende om Docker-kommandoer

At gøre sig bekendt med Docker-kommandolinjegrænsefladen (CLI) er afgørende for at mestre Docker. Nedenfor er et udvalg af kommandoer, du ofte vil støde på i din Docker-rejse:

  • docker run: Starter en ny container fra et billede.
  • docker ps: Viser alle containere, der kører i øjeblikket.
  • docker images: Viser alle lokalt tilgængelige billeder.
  • docker build: Konstruerer et nyt billede fra en Dockerfile.
  • docker stop: Stopper en container, der kører i øjeblikket.
  • docker rm: Eliminerer en beholder.
  • docker rmi: Sletter et billede.
  • docker network: Administrerer Docker-netværk.
  • docker volume: Styrer Docker-volumener.

Hver kommando har et unikt sæt muligheder, der giver dig mulighed for at ændre dens adfærd, så den opfylder dine behov. Lad os udforske hver kommando og dens respektive muligheder.

Det docker-løb Kommando

Det docker run kommandoen opretter en ny container fra et specificeret billede. For eksempel, for at starte en container fra Debian-billedet og åbne en interaktiv shell i den, skal du bruge følgende kommando:

docker run -it debian:latest /bin/bash

Det docker ps Kommando

Det docker ps kommandoen er implementeret for at samle alle aktuelt aktive containere. Det afslører værdifuld information om hver container, herunder container-id, tilhørende billede og kørestatus. For at få en liste over alle kørende containere skal du blot skrive:

docker ps

Det docker billeder Kommando

Det docker images kommandoen har til opgave at angive alle lokalt tilgængelige Docker-billeder. Det returnerer oplysninger om hvert billede, inklusive dets ID, tilhørende lager og tag:

docker images

Det docker bygning Kommando

Det docker build kommandoen bruges til at oprette et nyt Docker-billede fra en Dockerfil. En Dockerfile er i bund og grund et script, der indeholder instruktioner til at konstruere et Docker-billede. For eksempel, for at bygge et nyt billede med navnet 'mitbillede' ved hjælp af Dockerfilen i den aktuelle mappe, skal du bruge følgende kommando:

docker build -t myimage:latest .

Det havnearbejder stop Kommando

Det docker stop kommando afslutter elegant en kørende Docker-container. Du kan målrette den ønskede container ved hjælp af dens ID. Hvis du f.eks. vil stoppe en container med ID 'abcdefg', skal du bruge:

docker stop abcdefg

Det havnearbejder rm Kommando

Brug docker rm kommando for at slette en Docker-container. Ligesom stop kommando, skal du angive container-id'et for den container, du ønsker at slette. For eksempel:

docker rm abcdefg

Det docker rmi Kommando

Brug docker rmi kommando til at fjerne Docker-billeder. Identificer det billede, du vil slette, ved dets ID. For eksempel:

docker rmi 1234567

Det docker netværk Kommando

Det docker network kommando er et alsidigt værktøj til at oprette, liste og fjerne Docker-netværk. Hvis du f.eks. vil oprette et nyt netværk med navnet 'mitnetværk', skal du bruge:

docker network create mynetwork

Det docker volumen Kommando

Endelig docker volume kommando tilbyder funktionaliteter til at administrere Docker-volumener. For at oprette en ny volumen ved navn 'myvolume', ville du f.eks. bruge:

docker volume create myvolume

Navigering af Docker Container Management

Effektiv administration af Docker-containere påvirker funktionaliteten og levetiden i et Docker-miljø markant. Docker-kommandoen giver en række vigtige underkommandoer til at manipulere Docker-containere. Disse underkommandoer letter oprettelse, drift, ændring og sletning af containere. Uanset om du er en erfaren udvikler eller nybegynder inden for containerisering, kan forståelsen af ​​disse kommandoer forbedre din Docker-interaktion væsentligt.

Kernekommandoer til Docker Container Management

Kommandoen docker ps er et vigtigt værktøj i dit Docker-værktøjssæt til at opregne alle kørende containere. Ved at udføre denne kommando kan du se alle aktive containere, deres tilsvarende billede, status og unikke container-id.

docker ps

For at afslutte en aktuelt aktiv Docker-container, docker stop kommandoen er indsat. Du tilføjer det unikke ID eller navn på den container, du vil stoppe.

docker stop abcdefg

Det docker rm kommandoen bruges til at udrydde en Docker-beholder. Denne kommando, som docker stop, accepterer enten containerens unikke ID eller navn som argument.

docker rm abcdefg

Det er afgørende at bemærke, at sletning af en container kasserer eventuelle ændringer. Du skal oprette et nyt billede fra den ændrede container ved at bruge kommandoen 'docker commit' for at bevare ændringer.

Bevaring af containerændringer ved hjælp af docker-commit

Mens du arbejder med Docker-containere, skal du muligvis tilpasse en container og bevare disse ændringer som et nyt billede. Dette kan opnås ved hjælp af docker commit kommando.

Start en ny container ved hjælp af et basisbillede og foretag de nødvendige ændringer i denne container. Overvej for eksempel at starte en ny container fra Debian-billedet og åbne en shell inde i containeren:

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

Du kan udføre forskellige opgaver i denne nye container, såsom at ændre konfigurationsfiler eller installere ny software. Når du har foretaget de ønskede ændringer, skal du bruge docker commit kommando til at producere et nyt billede, der indkapsler disse ændringer. For at oprette et nyt billede med navnet 'myimage' med ændringerne i 'mycontainer'-beholderen skal du udføre følgende kommando:

docker commit mycontainer myimage:latest

Du besidder nu et billede ved navn 'mitbillede', der indeholder ændringer foretaget i 'minbeholder'-beholderen. Brug dette nye billede til at generere og betjene nye containere med opdaterede konfigurationer eller software.

Husk, docker commit-kommandoen gemmer kun ændringer foretaget af containerens filsystem, og bevarer ikke ændringer til netværk og lagring. Hvis det er nødvendigt at bevare ændringer i netværk og lagring, kan du overveje at bruge andre Docker-kommandoer som docker-netværk og docker-volumen.

Afslutter

Vi dykkede ned i at installere og administrere Docker Community Edition (CE) på en Debian Linux-distribution gennem hele vores diskussion. Docker CE bringer alle fordelene ved containerisering, hvilket giver udviklere mulighed for at bygge, sende og køre distribuerede applikationer i forskellige miljøer. Docker-kommandoerne og brugssager, der diskuteres her, giver grundlæggende viden til styring af Docker-containere. Mens artiklen berørte grundlæggende Docker-kommandoer som docker run, docker ps, docker rm, og andre.

Husk, at Docker-økosystemet er meget bredere, med adskillige kommandoer og muligheder, som du kan udforske for at finjustere din Docker-oplevelse.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar