Jak zarządzać kontenerami za pomocą Podmana i Skopeo w RHEL 8
- 4290
- 333
- Tacjana Karpiński
Jednym z wyzwań, przed którymi stanęli programiści, jest niezawodne uruchamianie aplikacji w wielu środowiskach obliczeniowych. Często aplikacje nie działały zgodnie z oczekiwaniami ani nie napotkały błędów i całkowicie się nie udało. I tam właśnie koncepcja pojemniki urodził się.
Jakie są obrazy pojemnika?
Pojemnik Obrazy to pliki statyczne wysyłane z kodem wykonywalnym, który działa w odizolowanym środowisku. Obraz kontenera obejmuje biblioteki systemowe, zależności i inne ustawienia platformy potrzebne przez aplikację do działania w różnych środowiskach.
Red Hat Linux Zapewnia zestaw przydatnych narzędzi kontenerowych, które można wykorzystać do pracy bezpośrednio z kontenerami Linux za pomocą poleceń Docker. Obejmują one:
- Podman - Jest to silnik z mniejszym kontenerem demona do prowadzenia i zarządzania OCI pojemniki w trybie korzeniowym lub bez korzeni. Podman jest podobne do Doker i ma te same opcje poleceń, z wyjątkiem tego Doker jest demem. Możesz ciągnąć, uruchamiać i zarządzać obrazami kontenerowymi za pomocą Podman w taki sam sposób, jak ty Doker. Podman jest wyposażony w wiele zaawansowanych funkcji, w pełni integruje się z systemy, i oferuje obsługę przestrzeni nazw użytkowników, która obejmuje uruchamianie kontenerów bez potrzeby użytkownika rootowego.
- Skopeo: Jest to narzędzie wiersza poleceń używane do kopiowania obrazów kontenera z jednego rejestru do drugiego. Możesz użyć Skopeo skopiować obrazy do i z konkretnego hosta, a także kopiować obrazy do innego rejestru lub środowiska kontenera. Oprócz kopiowania obrazów możesz użyć go do kontroli obrazów z różnych rejestrów i użycia podpisów do tworzenia i weryfikacji obrazów.
- Buildah: Jest to zestaw narzędzi wiersza poleceń używanych do tworzenia i zarządzania kontenerem OCI obrazy za pomocą Doker akta.
W tym artykule skupimy się na zarządzaniu kontenerami za pomocą Podman I Skopeo.
Wyszukiwanie obrazów kontenerowych z zdalnego rejestru
Podman Search Polecenie pozwala wyszukiwać wybrane zdalne rejestry dla obrazów kontenerowych. Domyślna lista rejestrów jest zdefiniowana w rejestry.conf plik znajdujący się w /etc/pojemniki/ informator.
Rejestry są zdefiniowane przez 3 sekcje.
- [Rejestr.szukaj] - Niniejsza sekcja określa domyślne rejestry Podman może wyszukiwać obrazy kontenera. Szuka żądanego obrazu w rejestr.dostęp.czerwony kapelusz.com, rejestr.czerwony kapelusz.io, I doker.io rejestry.
- [Rejestr.niepewny]- W tej sekcji określa rejestry, które nie wdrażają szyfrowania TLS i.E niepewne rejestry. Domyślnie nie określono żadnych wpisów.
- [Rejestr.blok] - Blokuje lub odmawia dostępu do określonych rejestrów z systemu lokalnego. Domyślnie nie określono żadnych wpisów.
Jako regularne (Non-Root) Użytkownik uruchamiający polecenie Podman, możesz zdefiniować swój własny rejestry.conf Plik w katalogu domowym ($ Home/.konfigurowanie/kontenery/rejestry.conf) w celu zastąpienia ustawień całego systemu.
Reguły pod warunkiem rejestrów
Jak określasz rejestry, pamiętaj o:
- Każdy rejestr powinien być zamknięty przez pojedyncze cytaty.
- Rejestry można określić za pomocą nazwy hosta lub adresu IP.
- Jeśli określono wiele rejestrów, należy je oddzielić przecinkami.
- Jeśli rejestr korzysta z portu niestandardowego - albo porty portu TCP 443 dla bezpiecznego i 80 dla niepewnych, - numer portu powinien być określony wraz z nazwą rejestru E.G. rejestr.przykład.com: 5566.
Aby przeszukać rejestr obrazu kontenera za pomocą składni:
# Podman Search Registry/Container_image
Na przykład, aby wyszukać Redis obraz w rejestr.czerwony kapelusz.io Rejestr, wywołuj polecenie:
# rejestru wyszukiwania podmana.czerwony kapelusz.IO/REDISWyszukaj rejestr po kontenera
Aby wyszukać Mariadb Uruchomienie obrazu kontenera.
# rejestru wyszukiwania podmana.czerwony kapelusz.IO/MariadbWyszukaj obraz kontenera Mariadb
Aby uzyskać skomplikowany opis obrazu pojemnika, użyj --bez trunc
opcja przed nazwą obrazu kontenera z uzyskanych wyników. Na przykład postaramy się uzyskać szczegółowy opis obrazu kontenera MarIADB, jak pokazano:
# Podman Search-No-Trunc Registry.czerwony kapelusz.IO/RHEL8/MARIADB-103Lista Opis obrazu kontenera Mariadb
Ciągnięcie obrazów pojemnika
Wyciąganie lub pobieranie obrazów kontenerowych ze zdalnego rejestru wymaga pierwszego uwierzytelnienia przed cokolwiek innego. Na przykład, aby odzyskać obraz kontenera MarIADB, najpierw zaloguj się do rejestru Redhat:
# login Podman
Podaj swoją nazwę użytkownika i hasło i naciśnijWCHODZIĆ„Na klawiaturze. Jeśli wszystko pójdzie dobrze, powinieneś otrzymać wiadomość potwierdzającą, że logowanie do rejestru zakończyło się powodzeniem.
Loginowi się powiodło!
Teraz możesz wyciągnąć obraz za pomocą pokazanej składni:
# Podman Pull [:]/[/]:
odnosi się do zdalnego hosta lub rejestru, który zapewnia repozytorium obrazów kontenerowych na TCP
.
i
łącznie określić obraz kontenera na podstawie
w rejestrze. Wreszcie
Opcja określa wersję obrazu kontenera. Jeśli nie zostanie określony, używany jest domyślny znacznik - najnowszy -.
Zawsze zaleca się dodawanie zaufanych rejestrów, czyli te, które zapewniają szyfrowanie i nie pozwalają anonimowym użytkownikom spawnować konta z losowymi nazwami.
Aby wyciągnąć obraz Mariadb, uruchom polecenie:
# Podman Pull Registry.czerwony kapelusz.IO/RHEL8/MARIADB-103
-
- rejestr.czerwony kapelusz.io
-
- Rhel8
-
- Mariadb
-
- 103
W przypadku kolejnych obrazów pojemników nie wymaga dalszego logowania, ponieważ jesteś już uwierzytelniony. Wyciągnąć Redis Obraz kontenera, po prostu uruchom:
# Podman Pull Registry.czerwony kapelusz.IO/RHSCL/REDIS-5-RHEL7Pull Redis Container obraz
Lista obrazów kontenerów
Po zakończeniu pobierania obrazów możesz wyświetlić obrazy istniejące obecnie na hoście, uruchamiając polecenie Podman Images.
# Obrazy PodmanLista obrazów kontenerów
Sprawdzanie obrazów pojemnika
Przed uruchomieniem pojemnika zawsze dobrym pomysłem jest zbadanie obrazu i zrozumienie, co robi. Podman Inspect Dowódca drukuje morze metadanych o pojemniku, takim jak system operacyjny i architektura.
Aby sprawdzić obraz, uruchom Podman Inspect polecenie, a następnie identyfikator obrazu lub repozytorium.
# Podman Sprawdź identyfikator obrazu lub # Podman Inspectorypozytorium
W poniższym przykładzie sprawdzamy Mariadb pojemnik.
# Podman Inspect Registry.czerwony kapelusz.IO/RHEL8/MARIADB-103Sprawdzanie obrazów kontenera MariaDB
Aby wyciągnąć określone metadane do przejścia pojemnika --format
Opcja, a następnie metadane i tożsamość kontenera (identyfikator obrazu lub nazwa).
W poniższym przykładzie pobieramy informacje o architekturze i opisie kontenera bazowego RHEL 8, który podlega ''Etykiety' Sekcja.
# Podman Inspect - -FORMAT = '.Etykiety.architektura 'Image Id # podman inspekcja - -format =' .Etykiety.Opis 'ID obrazuUzyskaj informacje o architekturze kontenerów
Aby sprawdzić zdalny obraz z innego rejestru, użyj Skopeo sprawdź Komenda. W poniższym przykładzie sprawdzamy obraz RHEL 8 INIT hostowany Doker.
# Skopeo Sprawdź dokera: // rejestr.czerwony kapelusz.IO/RHEL8-beta/rhel-initSprawdź zdalny obraz z rejestru Docker
Tagowanie obrazów kontenerów
Jak można zauważyć, nazwy obrazów mają zwykle charakter ogólny. Na przykład obraz Redis jest oznaczony:
rejestr.czerwony kapelusz.IO/RHSCL/REDIS-5-RHEL7
Tagowanie obrazów nadaje im bardziej intuicyjną nazwę, aby lepiej zrozumieć, co zawierają. Używając Tag Podman polecenie, możesz utworzyć znacznik obrazu, który jest zasadniczo aliasem do nazwy obrazu, który zawiera różne części.
To są:
Rejestr/nazwa użytkownika/nazwa: Tag
Na przykład, aby zmienić ogólną nazwę obrazu Redis, który ma identyfikator 646F2730318C , Wykonamy polecenie:
# tag podman 646f2730318c myredis
Aby dodać tag na końcu, dołącz pełną dwukropek, a następnie numer znacznika:
# Tag podman 646F2730318C Myredis: 5.0
Bez dodawania numeru znacznika zostanie po prostu przypisany najnowszy atrybut.
Ustaw nazwę obrazu kontenera RedisUruchamianie obrazów kontenera
Aby uruchomić pojemnik, użyj Podman Run Komenda. Na przykład:
# Podman Run Image_ID
Aby uruchomić pojemnik w milczeniu w tle jako usługa demona, użyj -D
opcja jak pokazano.
# Podman Run -d Image_id
Na przykład, aby uruchomić Redis obraz z id 646F2730318C, Wzywamy polecenie:
# Podman Run -d 646f2730318cUruchom obrazy kontenera Redis
Jeśli uruchamiasz kontener na podstawie systemu operacyjnego, takiego jak RHEL 8 obraz podstawowy, możesz uzyskać dostęp do powłoki za pomocą -To
dyrektywa. -I
opcja tworzy sesję interaktywną, podczas gdy -T
spawnuje sesję terminalową. --nazwa
Opcja ustawia nazwę kontenera na mybash When jest ECBC6F53BBA0 Identyfikator obrazu obrazu podstawowego.
# podman run -it --name = mybash ecbc6f53bba0
Następnie możesz uruchomić dowolne polecenia powłoki. W poniższym przykładzie weryfikujemy wersję systemu operacyjnego obrazu kontenera.
# Cat /etc /OS-RuleaseSprawdź wersję systemu operacyjnego kontenera obrazu
Aby wyjść z kontenera, po prostu wywołaj polecenie wyjścia.
# Wyjście
Po opuszczeniu kontenera automatycznie zatrzymuje się. Aby ponownie rozpocząć kontener, użyj Podman Start polecenie z -ai
flaga jak pokazano.
# podman start -a mybash
Jeszcze raz daje to dostęp do skorupy.
Rozpocznij obrazy pojemnikaLista uruchamiająca obrazy kontenera
Aby wymienić obecnie działające kontenery, użyj Podman Ps polecenie jak pokazano.
# Podman PsLista uruchamiająca obrazy kontenera
Aby wyświetlić wszystkie kontenery, w tym te, które wyszły po uruchomieniu, użyj polecenia:
# podman ps -aZobacz wszystkie obrazy kontenera
Skonfiguruj obrazy kontenerów, aby automatycznie startować w serwisie SystemD
W tej sekcji koncentrujemy się na tym, jak kontener może być skonfigurowany do działania bezpośrednio na systemie RHEL jako usługa SystemD.
Najpierw uzyskaj swój preferowany obraz. W tym przypadku wyciągnęliśmy Redis Zdjęcie z Docker Hub:
# Podman Pull Docker.IO/REDIS
Jeśli masz Selinux działający w swoim systemie, musisz aktywować Container_Manage_cgroup boolean do prowadzenia pojemników z Systemd.
# setsebool -p Container_Manage_cgroup on
Następnie uruchom obraz kontenera w tle i przypisz go do preferowanej nazwy obrazu. W tym przykładzie wymieniliśmy nasz obraz redis_server i zmapował port 6379 od pojemnika do naszego RHEL 8 gospodarz
# Podman Run -d --Name Redis_Server -p 6379: 6379 RedisUruchom obraz kontenera na tle
Następnie stworzymy Systemd plik konfiguracyjny jednostki dla redis w /etc/systemd/system/ informator.
# vim/etc/systemd/system/redis-container.praca
Wklej poniższą zawartość do pliku.
[Jednostka] Opis = Container Redis [Service] Restart = zawsze execStart =/usr/bin/podman start -a redis_server execstop =/usr/bin/podman stop -t 2 redis_server [instaluj] Wantby = lokalny.cel
Zapisz i wyjdź z pliku.
Następnie skonfiguruj kontener, aby automatycznie uruchamia się podczas uruchamiania.
# Systemctl Włącz Redis-Container.praca
Następnie uruchom kontener i zweryfikuj jego status działający.
# Systemctl Start Redis-Container.Service # Systemctl Status Redis-Container.pracaSprawdź status obrazu kontenera
Skonfiguruj trwałe przechowywanie obrazów kontenerowych
Podczas uruchamiania kontenerów ostrożnie konfigurowanie trwałej pamięci zewnętrznej na hoście. Zapewnia to kopię zapasową na wypadek awarii kontenera lub przypadkowo usunięcia.
Aby przetrwać dane, zamierzamy zmapować katalog znajdujący się w hoście do katalogu wewnątrz kontenera.
$ Podman Run --privileged -it -v/var/lib/Conteners/Backup_storage:/MNT Registry.czerwony kapelusz.io/ubi8/ubi/bin/bash
--uprzywilejowany
Opcja jest przekazywana, gdy Selinux ma na celu egzekwowanie. -v
Opcja określa objętość zewnętrzną znajdującą się na hoście. Tom kontenera jest tutaj /MNT informator.
Po uzyskaniu dostępu do powłoki zamierzamy utworzyć przykładowy plik Testowanie.tekst w /MNT katalog, jak pokazano.
$ echo „To testuje trwałe przechowywanie zewnętrzne”> /mnt /testowanie.tekst
Będziemy wtedy Wyjście kontener i sprawdź, czy plik istnieje w zewnętrznej pamięci przebywającej na hoście
# Exit # cat/var/lib/Conteners/Backup_storage/Testing.tekst
Wyjście ⇒ To testuje trwałe przechowywanie zewnętrzne.
Skonfiguruj trwałe przechowywanie kontenerówZatrzymanie i usuwanie pojemników
Po zakończeniu uruchamiania pojemnika możesz go zatrzymać za pomocą Podman Stop polecenie, a następnie kontener-id które można uzyskać od Podman Ps Komenda.
# Podman Stop Container-IDZatrzymaj obraz kontenera
Aby usunąć pojemniki, których już nie potrzebujesz, najpierw upewnij się, że go zatrzymasz, a następnie wywołać Podman Rm polecenie, a następnie identyfikator lub nazwa kontenera jako opcja.
# Podman RM-Container-ID
Aby usunąć wiele kontenerów za polecenie, podaj kontener IDS oddzielone przestrzenią.
umUsuń obraz pojemnika
Aby wyczyścić wszystkie kontenery, uruchom polecenie:
# podman rm -aWyczyść wszystkie pojemniki
Usuwanie obrazu
Aby usunąć obraz, najpierw upewnij się, że wszystkie pojemniki odrodzone z obrazów są zatrzymane i usuwane, jak omówiono w poprzednim podataku.
Następnie kontynuuj i uruchom PODMAN -RMI
Polecenie, a następnie identyfikator obrazu, jak pokazano:
# Podman -rmi Image -idUsuń obraz
Wniosek
To kończy ten rozdział na temat zarządzania i pracy z kontenerami RHEL 8. Mamy nadzieję, że ten przewodnik zapewnił porządne zrozumienie kontenerów i w jaki sposób możesz wchodzić w interakcje i zarządzać nimi na swoim Rhel Używanie systemu Podman I Skopeo.
- « 20 rzeczy do zrobienia po zainstalowaniu Ubuntu 20.10 „Groovy Gorilla”
- Jak zainstalować OH-MY-ZSH w Ubuntu 20.04 »