GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a používat Docker v Ubuntu 20.04

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ů.

Související příspěvky

  • Jak nainstalovat a nakonfigurovat docker ve Fedoře 34/35
  • Jak nainstalovat a nakonfigurovat docker v Debianu 11
  • Jak nainstalovat a nakonfigurovat docker v Centos 8
  • 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:

  • Systém Ubuntu 20.04
  • Přístup k internetu ze systému
  • Přístup uživatele root nebo uživatel s přístupem sudo

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 docker , docker.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 -y 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/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 

K nastavení stabilního úložiště použijte následující příkaz.

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(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 -y 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:
Seznam verzí dostupných ve vašem úložišti:

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages 

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

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

Příklad:

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

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 soubor .deb pro své vydání a nainstalovat 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/ubuntu/dists/, vyberte verzi Ubuntu a přejděte na pool/stable/ , zvolte amd64 , armhf 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 

Démon Docker se spustí automaticky.

Ověřte, zda je Docker Engine správně nainstalován, spuštěním obrazu hello-world.

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.

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 Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 146750 (dockerd)
      Tasks: 8
     Memory: 30.0M
     CGroup: /system.slice/docker.service
             └─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done." 

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:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf 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í:

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
ubuntu docker 

Nyní mohu dělat docker:
Mohu spustit alpine image

$ 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 Ubuntu 20.04.


Ubuntu
  1. Jak nainstalovat a používat Docker na Ubuntu 20.04

  2. Jak nainstalovat a používat Wine na Ubuntu 20.04

  3. Jak nainstalovat a používat Docker na Ubuntu 18.04

  1. Jak nainstalovat a používat Docker Compose na Ubuntu 18.04

  2. Jak nainstalovat a používat FFmpeg na Ubuntu 18.04

  3. Jak nainstalovat a používat Wine na Ubuntu 18.04

  1. Jak nainstalovat a používat Curl na Ubuntu 18.04

  2. Jak nainstalovat a používat Curl na Ubuntu 20.04

  3. Jak nainstalovat a nastavit Docker na Ubuntu 18.04