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.repoTo 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 \
runcNa 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-pluginJeśli napotkasz problemy z zależnościami w Podman, pozwól na usuwanie.
sudo yum install docker-ce --allowerasingZgó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]: yZaimportuj 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]: yUruchom 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 dockerGrupa 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 versionPobierz 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:latestLista 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.84kBSprawdź, 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
/ # exitUruchomienie 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