Docker - instalacja Linux

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 389 razy

Zainstalowanie Dockera na Linuksie może co dla niektórych stanowić jako takie wyzwanie. Ja omówię tutaj pokrótce instalację na dystrybucji Ubuntu systemu Linux. Opis całego procesu może się zmienić w czasie więc na wszelki wypadek podaję link do dokumentacji: docs.docker.com/engine/install/ubuntu/. A więc zaczynamy zgodnie z instrukcją z dokumentacji:

sudo apt-get install 
    ca-certificates 
    curl 
    gnupg 
    lsb-release

Co spowoduje wyświetlenie w konsoli:

Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe   
ca-certificates is already the newest version (20211016).
gnupg is already the newest version (2.2.27-3ubuntu2).
lsb-release is already the newest version (11.1.0ubuntu4).
curl is already the newest version (7.81.0-1ubuntu1.2).
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 19 nieaktualizowanych.

Teraz tworzymy katalog:

sudo mkdir -p /etc/apt/keyrings

Pobieramy:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Następnie:

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

I update (bardzo ważne!):

sudo apt-get update

co powinno wyświetlić coś podobnego:

Stary:1 http://pl.archive.ubuntu.com/ubuntu jammy InRelease
Stary:2 http://pl.archive.ubuntu.com/ubuntu jammy-updates InRelease            
Stary:3 http://pl.archive.ubuntu.com/ubuntu jammy-backports InRelease          
Pobieranie:4 https://download.docker.com/linux/ubuntu jammy InRelease [48,9 kB]
Pobieranie:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [6?121 B]
Stary:6 https://repo.protonvpn.com/debian stable InRelease                     
Stary:7 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease 
Pobieranie:8 https://download.opensuse.org/repositories/home:/t-paul/xUbuntu_22.04 ./ InRelease [1?524 B]
Stary:9 http://security.ubuntu.com/ubuntu jammy-security InRelease             
Ign.:10 https://ppa.launchpadcontent.net/kaihengfeng/fix-lp1869819/ubuntu jammy InRelease
Błąd:11 https://ppa.launchpadcontent.net/kaihengfeng/fix-lp1869819/ubuntu jammy Release
  404  Not Found [IP: 2620:2d:4000:1::3e 443]
Czytanie list pakietów... Gotowe
E: The repository 'https://ppa.launchpadcontent.net/kaihengfeng/fix-lp1869819/ubuntu jammy Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I w końcu długo wyczekiwana instalacja Docker-a:

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

Co powinno wyświetlić proces instalacji:

Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Odczyt informacji o stanie... Gotowe   
The following additional packages will be installed:
  docker-ce-rootless-extras docker-scan-plugin git git-man liberror-perl
  libslirp0 pigz slirp4netns
Sugerowane pakiety:
  aufs-tools cgroupfs-mount | cgroup-lite git-daemon-run | git-daemon-sysvinit
  git-doc git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
Zostaną zainstalowane następujące NOWE pakiety:
  containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras
  docker-compose-plugin docker-scan-plugin git git-man liberror-perl libslirp0
  pigz slirp4netns
0 aktualizowanych, 12 nowo instalowanych, 0 usuwanych i 19 nieaktualizowanych.
Konieczne pobranie 112 MB archiwów.
Po tej operacji zostanie dodatkowo użyte 469 MB miejsca na dysku.
Kontynuować? [T/n] t
Pobieranie:1 http://pl.archive.ubuntu.com/ubuntu jammy/universe amd64 pigz amd64 2.6-1 [63,6 kB]
Pobieranie:2 http://pl.archive.ubuntu.com/ubuntu jammy/main amd64 liberror-perl all 0.17029-1 [26,5 kB]
Pobieranie:3 http://pl.archive.ubuntu.com/ubuntu jammy-updates/main amd64 git-man all 1:2.34.1-1ubuntu1.2 [952 kB]
Pobieranie:4 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.6.6-1 [28,1 MB]
Pobieranie:5 http://pl.archive.ubuntu.com/ubuntu jammy-updates/main amd64 git amd64 1:2.34.1-1ubuntu1.2 [3?130 kB]
Pobieranie:6 http://pl.archive.ubuntu.com/ubuntu jammy/main amd64 libslirp0 amd64 4.6.1-1build1 [61,5 kB]
Pobieranie:7 http://pl.archive.ubuntu.com/ubuntu jammy/universe amd64 slirp4netns amd64 1.0.1-2 [28,2 kB]
Pobieranie:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:20.10.17~3-0~ubuntu-jammy [40,6 MB]
Pobieranie:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:20.10.17~3-0~ubuntu-jammy [21,0 MB]
Pobieranie:10 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:20.10.17~3-0~ubuntu-jammy [8?163 kB]
Pobieranie:11 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-compose-plugin amd64 2.6.0~ubuntu-jammy [6?563 kB]
Pobieranie:12 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-scan-plugin amd64 0.17.0~ubuntu-jammy [3?521 kB]
Pobrano 112 MB w 2min 39s (704 kB/s)                                           
Wybieranie wcześniej niewybranego pakietu pigz.
(Odczytywanie bazy danych ... 226117 plików i katalogów obecnie zainstalowanych.)
Przygotowywanie do rozpakowania pakietu .../00-pigz_2.6-1_amd64.deb ...
Rozpakowywanie pakietu pigz (2.6-1) ...
Wybieranie wcześniej niewybranego pakietu containerd.io.
Przygotowywanie do rozpakowania pakietu .../01-containerd.io_1.6.6-1_amd64.deb ...
Rozpakowywanie pakietu containerd.io (1.6.6-1) ...
Wybieranie wcześniej niewybranego pakietu docker-ce-cli.
Przygotowywanie do rozpakowania pakietu .../02-docker-ce-cli_5%3a20.10.17~3-0~ubuntu-jammy_amd64.deb ...
Rozpakowywanie pakietu docker-ce-cli (5:20.10.17~3-0~ubuntu-jammy) ...
Wybieranie wcześniej niewybranego pakietu docker-ce.
Przygotowywanie do rozpakowania pakietu .../03-docker-ce_5%3a20.10.17~3-0~ubuntu-jammy_amd64.deb ...
Rozpakowywanie pakietu docker-ce (5:20.10.17~3-0~ubuntu-jammy) ...
Wybieranie wcześniej niewybranego pakietu docker-ce-rootless-extras.
Przygotowywanie do rozpakowania pakietu .../04-docker-ce-rootless-extras_5%3a20.10.17~3-0~ubuntu-jammy_amd64.deb ...
Rozpakowywanie pakietu docker-ce-rootless-extras (5:20.10.17~3-0~ubuntu-jammy) ...
Wybieranie wcześniej niewybranego pakietu docker-compose-plugin.
Przygotowywanie do rozpakowania pakietu .../05-docker-compose-plugin_2.6.0~ubuntu-jammy_amd64.deb ...
Rozpakowywanie pakietu docker-compose-plugin (2.6.0~ubuntu-jammy) ...
Wybieranie wcześniej niewybranego pakietu docker-scan-plugin.
Przygotowywanie do rozpakowania pakietu .../06-docker-scan-plugin_0.17.0~ubuntu-jammy_amd64.deb ...
Rozpakowywanie pakietu docker-scan-plugin (0.17.0~ubuntu-jammy) ...
Wybieranie wcześniej niewybranego pakietu liberror-perl.
Przygotowywanie do rozpakowania pakietu .../07-liberror-perl_0.17029-1_all.deb ...
Rozpakowywanie pakietu liberror-perl (0.17029-1) ...
Wybieranie wcześniej niewybranego pakietu git-man.
Przygotowywanie do rozpakowania pakietu .../08-git-man_1%3a2.34.1-1ubuntu1.2_all.deb ...
Rozpakowywanie pakietu git-man (1:2.34.1-1ubuntu1.2) ...
Wybieranie wcześniej niewybranego pakietu git.
Przygotowywanie do rozpakowania pakietu .../09-git_1%3a2.34.1-1ubuntu1.2_amd64.deb ...
Rozpakowywanie pakietu git (1:2.34.1-1ubuntu1.2) ...
Wybieranie wcześniej niewybranego pakietu libslirp0:amd64.
Przygotowywanie do rozpakowania pakietu .../10-libslirp0_4.6.1-1build1_amd64.deb ...
Rozpakowywanie pakietu libslirp0:amd64 (4.6.1-1build1) ...
Wybieranie wcześniej niewybranego pakietu slirp4netns.
Przygotowywanie do rozpakowania pakietu .../11-slirp4netns_1.0.1-2_amd64.deb ...
Rozpakowywanie pakietu slirp4netns (1.0.1-2) ...
Konfigurowanie pakietu docker-scan-plugin (0.17.0~ubuntu-jammy) ...
Konfigurowanie pakietu liberror-perl (0.17029-1) ...
Konfigurowanie pakietu containerd.io (1.6.6-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service ? /lib/systemd/system/containerd.service.
Konfigurowanie pakietu docker-compose-plugin (2.6.0~ubuntu-jammy) ...
Konfigurowanie pakietu docker-ce-cli (5:20.10.17~3-0~ubuntu-jammy) ...
Konfigurowanie pakietu libslirp0:amd64 (4.6.1-1build1) ...
Konfigurowanie pakietu pigz (2.6-1) ...
Konfigurowanie pakietu git-man (1:2.34.1-1ubuntu1.2) ...
Konfigurowanie pakietu docker-ce-rootless-extras (5:20.10.17~3-0~ubuntu-jammy) ...
Konfigurowanie pakietu slirp4netns (1.0.1-2) ...
Konfigurowanie pakietu docker-ce (5:20.10.17~3-0~ubuntu-jammy) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service ? /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket ? /lib/systemd/system/docker.socket.
Konfigurowanie pakietu git (1:2.34.1-1ubuntu1.2) ...
Przetwarzanie wyzwalaczy pakietu man-db (2.10.2-1)...
Przetwarzanie wyzwalaczy pakietu libc-bin (2.35-0ubuntu3)...

Teraz z najdzikszą rozkoszą można sprawdzić, czy aby na pewno działa:

sudo docker run hello-world

Co powinno pobrać obraz i uruchomić instancję kontenera oraz wyświetlić:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:13e367d31ae85359f42d637adf6da428f76d75dc9afeb3c21faea0d976f5c651
Status: Downloaded newer image for hello-world:latest

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

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
Strony powiązane
strony powiązane
  1. docs.docker.com/engine/install/ubuntu/ - instrukcja instalacji na Ubuntu
Propozycje książek