Wyszukiwanie w witrynie

Zainstaluj Docker i Compose na CentOS 8 | RHEL 8


W tym przewodniku przeprowadzimy Cię krok po kroku przez proces instalacji Docker CE na CentOS 8 | RHEL 8. Omówimy także, jak zainstalować Docker Compose na RHEL 8/CentOS 8 Linux. Docker nie jest oficjalnie wspierany na RHEL 8, ponieważ został zastąpiony przez narzędzia Red Hat – buildah i podman. Możesz dowiedzieć się więcej o nowych funkcjach wprowadzonych w wydaniu RHEL 8 Linux.

  • Nowe funkcje i recenzja Red Hat Enterprise Linux 8 (RHEL 8)

A co jeśli używasz Dockera codziennie i nie możesz od razu przejść na Buildah i Podman? Nie martw się, ponieważ istnieje sposób, aby zainstalować Dockera i Docker Compose na RHEL 8/CentOS 8. Docker to narzędzie, które pozwala tworzyć, wdrażać i uruchamiać aplikacje w kontenerach. Kontenery umożliwiają programiście spakowanie aplikacji wraz z jej zależnościami i wysłanie jej jako pojedynczego pakietu. Kontenery są często używane w środowiskach opartych na mikrousługach.

Komponenty/Terminologie Dockera

Istnieje szereg terminów specyficznych dla Dockera, które musimy wyjaśnić przed przejściem do instalacji i przykładów użycia. Poniżej znajdują się powszechnie stosowane pojęcia w ekosystemie Dockera.

  • Daemon Dockera: Nazywany też Docker Engine, jest to proces działający w tle na systemie hosta, odpowiedzialny za budowanie i uruchamianie kontenerów.
  • Docker Client: Jest to narzędzie wiersza poleceń używane przez użytkownika do komunikacji z demonem Dockera.
  • Obraz Dockera: Obraz to niezmienny plik, który jest w zasadzie migawką kontenera. Obraz Dockera zawiera system plików oraz zależności aplikacji potrzebne do uruchamiania aplikacji.
  • Kontener Docker: Jest to uruchomiona instancja obrazu Dockera z aplikacją i jej zależnościami. Każdy kontener ma unikalny identyfikator procesu i jest odizolowany od innych kontenerów. Jedyną rzeczą, którą kontenery dzielą ze sobą, jest jądro systemu.
  • Rejestr Docker: Jest to aplikacja odpowiedzialna za zarządzanie przechowywaniem i dostarczaniem obrazów kontenerów Docker. Może być prywatny lub publiczny.

Zainstaluj Docker CE na CentOS 8 | RHEL 8

Do tej pory omówiliśmy wprowadzenie do Dockera i terminologię. Powinniśmy być gotowi do zainstalowania Docker CE na RHEL 8/CentOS 8. Zaczniemy od instalacji Dockera, a następnie Docker Compose.

Dostępne są dwie edycje Dockera.

  • Community Edition (CE): idealna dla indywidualnych programistów i małych zespołów, które chcą zacząć korzystać z Dockera i eksperymentować z aplikacjami opartymi na kontenerach.
  • Wersja Enterprise (EE): Zaprojektowana dla zespołów deweloperskich i IT w przedsiębiorstwach, które tworzą, wdrażają i obsługują krytyczne dla biznesu aplikacje w środowisku produkcyjnym na dużą skalę.

Docker Enterprise Edition wymaga aktywnej licencji, aby móc go używać. W tym przewodniku zainstalujemy Docker CE na RHEL 8. Najpierw dodajmy repozytorium Docker, zanim będziemy mogli go zainstalować.

### CentOS 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

### RHEL 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

To polecenie pobierze plik repozytorium Dockera do /etc/yum.repos.d/docker-ce.repo. Zaktualizujmy cache indeksu RPM.

### CentOS 8 ###
$ sudo yum makecache 
CentOS Linux 8 - AppStream                                                                                                                                             23 kB/s | 4.3 kB     00:00
CentOS Linux 8 - BaseOS                                                                                                                                                20 kB/s | 3.9 kB     00:00
CentOS Linux 8 - Extras                                                                                                                                               9.2 kB/s | 1.5 kB     00:00
Docker CE Stable - x86_64                                                                                                                                             291 kB/s |  19 kB     00:00
DigitalOcean Droplet Agent                                                                                                                                             51 kB/s | 3.3 kB     00:00
Metadata cache created.

### RHEL 8 ###
$ sudo yum makecache 
Updating Subscription Management repositories.
Docker CE Stable - x86_64                                                                                                                                             14 kB/s | 3.8 kB     00:00    
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                                                                              33 kB/s | 2.8 kB     00:00    
Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs)                                                                                                                   29 kB/s | 2.4 kB     00:00    
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                                                                                 30 kB/s | 2.4 kB     00:00    
Red Hat Satellite Tools 6.6 for RHEL 8 x86_64 (RPMs)                                                                                                                  29 kB/s | 2.1 kB     00:00    
Metadata cache created.

Może być konieczne odinstalowanie wszystkich starszych wersji Dockera wraz z powiązanymi zależnościami. Odinstaluj również Podmana i powiązane zależności, jeśli są już zainstalowane.

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine \
                  podman \
                  runc

Na koniec zainstaluj Docker CE, uruchamiając poniższe polecenie w terminalu.

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

Jeśli napotkasz problemy z zależnościami w Podman, pozwól na usuwanie.

sudo yum install docker-ce --allowerasing

Zgódź się na instalację, naciskając klawisz y na klawiaturze:

...
Transaction Summary
================================================================================================================================================================================================
Install  12 Packages

Total download size: 93 M
Installed size: 389 M
Is this ok [y/N]: y

Zaimportuj również klucz GPG.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                            51 MB/s |  93 MB     00:01
Docker CE Stable - x86_64                                                                                                                                        44 kB/s | 1.6 kB     00:00
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <[email >"
 Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
 From       : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y

Uruchom i włącz usługę Docker, aby startowała przy uruchamianiu systemu.

$ sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

Status usługi Dockera powinien wskazywać, że działa.

$ systemctl status  docker

Grupa docker została utworzona, ale nie dodano do niej żadnych użytkowników. Dodaj swojego użytkownika do tej grupy, aby uruchamiać polecenia Docker bez użycia sudo.

$ sudo usermod -aG docker $USER
$ newgrp docker
$ id $USER
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),10(wheel),984(docker)

Wyloguj się i zaloguj ponownie, aby korzystać z Dockera bez sudo. Wersję zainstalowanego Dockera można sprawdzić za pomocą:

docker version

Pobierz obraz Dockera

Ostatnim krokiem jest przetestowanie instalacji poprzez pobranie testowego kontenera Dockera.

$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
8e402f1a9c57: Pull complete 
Digest: sha256:644fcb1a676b5165371437feaa922943aaf7afcfa8bfee4472f6860aad1ef2a0
Status: Downloaded newer image for alpine:latest

$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Lista pobranych obrazów.

$ docker images
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
 alpine              latest              5cb3aa00f899        2 days ago          5.53MB
 hello-world         latest              fce289e99eb9        2 months ago        1.84kB

Sprawdź, czy Docker CE działa poprawnie, uruchamiając kontener Alpine z pobranego obrazu.

$ docker run -it --rm alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/main]
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/community]
OK: 9754 distinct packages available
/ # exit

Uruchomienie kontenera Hello World

$ docker run -it --rm hello-world

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/

Zainstaluj Docker Compose na CentOS 8 | CentOS 8

Mamy zainstalowany i działający Docker, teraz przejdźmy do Docker Compose. Docker Compose to narzędzie używane do definiowania i uruchamiania aplikacji Docker z wieloma kontenerami.

Usługi aplikacji są konfigurowane przy użyciu pliku Compose. W przeciwieństwie do uruchamiania poleceń Dockera, wystarczy jedno polecenie, aby utworzyć i uruchomić wszystkie usługi z Twojej konfiguracji. Docker Compose to świetne narzędzie do środowisk deweloperskich, testowych i stagingowych, a także do przepływów pracy CI.

Postępuj zgodnie z naszym oddzielnym poradnikiem dotyczącym instalacji najnowszej wersji Docker Compose na Linuksie.

  • Zainstaluj Docker Compose na Linuksie

Dla zachowania zwięzłości tego przewodnika, nie będziemy wchodzić w szczegóły korzystania z Docker Compose. Polecam zapoznać się z oficjalną dokumentacją Dockera i dokumentacją Docker Compose, aby dowiedzieć się więcej.

Zainstaluj interfejs Docker – opcjonalnie

Jeśli potrzebujesz interfejsu zarządzania Dockerem, który umożliwia łatwe zarządzanie różnymi hostami i kontenerami Docker, wypróbuj Portainera. Jest łatwy w instalacji i użyciu.

  • Jak zainstalować Portainer, menedżera interfejsu Docker

Monitorowanie kontenerów Docker

Monitorowanie kontenerów Docker można zrealizować za pomocą narzędzi monitorujących, takich jak Netdata, Ctop, Prometheus i Grafana. Poniższe przewodniki powinny być pomocne.

  • Ctop – polecenie Top dla metryk kontenerów
  • Jak zainstalować Netdata na RHEL 8/CentOS 8
  • Zainstaluj rejestr Docker Harbor na Linuksie