GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat docker na Debian 11

Docker je open source platforma pro kontejnerizaci. Umožňuje vývojářům zabalit aplikace do kontejnerů – standardizovaných spustitelných komponent, které kombinují zdrojový kód aplikace s knihovnami operačního systému (OS) a závislostmi potřebnými ke spuštění tohoto kódu v jakémkoli prostředí.

Docker je sada produktů platformy jako služby, která využívá virtualizaci na úrovni OS k dodávání softwaru v balíčcích nazývaných kontejnery. Kontejnery jsou od sebe izolované a sdružují svůj vlastní software, knihovny a konfigurační soubory; mohou spolu komunikovat prostřednictvím dobře definovaných kanálů.

Podívejte se také na tyto odkazy:

  • Jak nainstalovat a používat Docker v Ubuntu 20.04
  • Jak nainstalovat a nakonfigurovat docker v Centos 8
  • Jak nainstalovat a nakonfigurovat docker ve Fedoře 34/35
  • Začínáme s Docker Compose with Example
  • Docker jako sestavovací agent – ​​Spusťte Jenkins staví na Dockeru

Předpoklady

Chcete-li pokračovat, ujistěte se, že máte:

  • Aktuální systém Debian 11
  • Přístup k internetu ze systému
  • Přístup uživatele root nebo uživatel s přístupem sudo
  • Znalost terminálu Linux

Obsah

  1. Ujistěte se, že jsou vaše systémové balíčky aktuální
  2. Odinstalujte předchozí verze, pokud existují
  3. Nainstalujte modul dockeru pomocí úložiště
  4. Instalace modulu dockeru z balíčku
  5. Instalujte pomocí praktického skriptu
  6. Ověřte instalaci
  7. Provedení příkazu Docker bez sudo
  8. Odinstalování dockeru, když je déle potřeba

1. Ujistěte se, že jsou vaše systémové balíčky aktuální

Než budete pokračovat, ujistěte se, že jsou vaše balíčky aktualizovány

sudo apt update
sudo apt upgrade -y

2. Odinstalujte předchozí verze, pokud existují

Balíčky poskytující starší verze Dockeru jsou dockerdocker.io nebo docker-engine .
Použijme tento příkaz, abychom zajistili, že tyto balíčky v našem systému neexistují:

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

Je v pořádku, pokud apt-get hlásí, že žádný z těchto balíčků není nainstalován.

Instalace dockeru

Docker Engine můžete nainstalovat různými způsoby v závislosti na vašich potřebách:

  • Můžete nastavit úložiště dockeru a nainstalovat docker pomocí apt
  • Balíčky DEB si můžete stáhnout a nainstalovat ručně
  • K instalaci Dockeru můžete použít automatické skripty pro usnadnění

3. Nainstalujte docker engine pomocí úložiště

Na novém hostiteli dockerová úložiště neexistují. Poprvé na novém hostitelském počítači musíte nastavit úložiště Docker. Poté můžete nainstalovat a aktualizovat Docker z úložiště.

Pojďme nainstalovat následující balíčky, které umožní apt používat úložiště přes HTTPS:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Přidejte oficiální klíč GPG společnosti Docker:

 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gp

K nastavení stabilního úložiště použijte následující příkaz. Chcete-li přidat noční nebo testovat úložiště, přidejte slovo nightly nebo test (nebo obojí) za slovem stable v příkazech níže.

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

Instalovat Docker Engine

Aktualizujte index balíčků apt, protože jsme přidali nové úložiště:

sudo apt-get update

Nyní nainstalujme nejnovější verzi Docker Engine a kontejnerové usi

sudo apt-get install docker-ce docker-ce-cli containerd.io

Volitelné:Instalace konkrétní verze

Pokud máte požadavky, které vyžadují konkrétní verzi, můžete tak učinit. Chcete-li nainstalovat konkrétní verzi:
1. Seznam verzí dostupných ve vašem úložišti:

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable amd64 Packages

Nyní můžete nainstalovat konkrétní verzi pomocí řetězce verze z druhého sloupce, například 5:20.10.7~3-0~debian-bullseye .

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Příklad:

sudo apt-get install docker-ce=5:20.10.7~3-0 docker-ce-cli=5:20.10.7~3-0 containerd.io

Po dokončení instalace se automaticky spustí démon Docker.

4. Nainstalujte docker engine z balíčku

Pokud k instalaci Docker Engine nemůžete použít úložiště Docker, můžete si stáhnout .deb soubor pro vaše vydání a nainstalujte jej ručně. Pokaždé, když chcete upgradovat Docker, musíte si stáhnout nový soubor.

Přejděte na https://download.docker.com/linux/debian/dists/, vyberte svou verzi Debianu – (Bullseye) a poté přejděte na pool/stable/ , zvolte amd64armhf nebo arm64 a stáhněte si soubor .deb pro verzi Docker Engine, kterou chcete nainstalovat.

Nainstalujte Docker Engine a změňte cestu níže na cestu, ze které jste stáhli balíček Docker.

 sudo dpkg -i /path/to/package.deb

Po dokončení instalace se automaticky spustí démon Docker.

5. Nainstalujte pomocí pohodlného skriptu

Docker poskytuje pohodlný skript na get.docker.com pro rychlou a neinteraktivní instalaci Dockeru do vývojových prostředí.

Tento příklad stáhne skript z get.docker.com a spustí jej za účelem instalace nejnovější stabilní verze Dockeru v systému Linux:

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

6. Ověřte instalaci

Po instalaci se docker spustí jako démon. Ke kontrole, zda je ukotvitelný panel spuštěn, používáme systemctl status docker příkaz:

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-10-19 04:10:32 UTC; 4min 16s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 13456 (dockerd)
      Tasks: 7
     Memory: 39.0M
        CPU: 265ms
     CGroup: /system.slice/docker.service
             └─13456 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789071579Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789278242Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/container>
Oct 19 04:10:31 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:31.789447226Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.059851510Z" level=info msg="Loading containers: start."
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.267528805Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemo>
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.337295417Z" level=info msg="Loading containers: done."
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.363462993Z" level=info msg="Docker daemon" commit=79ea9d3 graphdriver(s)=overlay2 version=20.10.9
Oct 19 04:10:32 ip-10-2-40-246 dockerd[13456]: time="2021-10-19T04:10:32.363783617Z" level=info msg="Daemon has completed initialization"

Active: active (running) ukazuje, že docker byl úspěšně spuštěn.

Můžeme spustit hello-world obrázek pro otestování, že ukotvitelný panel funguje podle očekávání:

 sudo docker run hello-world

Tento příkaz stáhne testovací obraz a spustí jej v kontejneru. Když kontejner běží, vytiskne informační zprávu a ukončí se.

Dostal jsem tento výstup, který ukazuje, že to funguje dobře:

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

7. Provedení příkazu Docker bez sudo

Ve výchozím nastavení může příkaz docker spustit pouze uživatel root nebo uživatel ve skupině dockerů, která se automaticky vytvoří během procesu instalace Dockeru. Pokud se pokusíte spustit příkaz docker bez předpony sudo nebo aniž byste byli ve skupině docker, dostanete výstup takto:

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Pokud se chcete vyhnout psaní sudo při každém spuštění příkazu docker, přidejte své uživatelské jméno do skupiny docker:

sudo usermod -aG docker ${USER}

Chcete-li použít nové členství ve skupině, odhlaste se ze serveru a znovu se přihlaste nebo zadejte následující:

sudo su - ${USER}

Budete vyzváni k zadání hesla uživatele, abyste mohli pokračovat.

Potvrďte, že je váš uživatel nyní přidán do skupiny dockerů, zadáním:

id -nG

Vidím to a potvrzuji, že nyní patřím do skupiny dockerů

$ id -nG
admin docker

Nyní mohu dělat docker bez sudo:
Nechte nás otestovat spuštěním obrazu.

$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #

Úspěšně jsme do našeho systému nainstalovali docker!

8. Odinstalování dockeru, když je déle potřeba

Pro úplné vymazání docker engine ze systému musíme odinstalovat balíčky Docker Engine, CLI a Containerd:

 sudo apt-get purge docker-ce docker-ce-cli containerd.io -y

Obrazy, kontejnery, svazky nebo přizpůsobené konfigurační soubory na vašem hostiteli nejsou automaticky odstraněny. Chcete-li odstranit všechny obrázky, kontejnery a svazky:

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

Všechny upravené konfigurační soubory musíte odstranit ručně.

Závěr

V této příručce se nám podařilo nainstalovat docker na náš systém Debian 11.


Debian
  1. Jak nainstalovat Docker a Docker Compose na Debian 11

  2. Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

  3. Jak nainstalovat a nakonfigurovat MongoDB 5 na Debian 11

  1. Jak nainstalovat a používat Docker na Debian 9

  2. Jak nainstalovat a používat Docker Compose na Debianu 9

  3. Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11

  1. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  2. Jak nainstalovat a nakonfigurovat Redis na Debian 9

  3. Jak nainstalovat a nakonfigurovat Nagios na Debian 9