Fillimi me Podman (Alternativa Docker) në Rocky Linux
Podman është një mjet i bazuar në Linux për vendosjen e aplikacioneve duke përdorur kontejnerët e Open Container Initiative (OCI) dhe imazhet e kontejnerëve. Ai mbështet formate të shumta të imazhit të kontejnerëve, duke përfshirë imazhet Docker dhe imazhet e kontejnerëve OCI. Gjithashtu, Podman mbështet menaxhimin e pods, grupeve të kontejnerëve.
Podman është një mjet pa demon, që funksionon si një linjë komande e vetme binare pa shërbim. Ai siguron një linjë komande të ngjashme me Docker, ju mund të përdorni një pseudonim të tillë si alias docker=podman.
Për të ekzekutuar kontejnerët dhe për të menaxhuar imazhet e kontejnerëve, Podman mbështetet në kohëzgjatjen e kontejnerëve libpod dhe OCI si runc, crun dhe runv.
Parakushtet
Në këtë udhëzues, do të mësoni se si të instaloni Podman në sistemin Rocky Linux. Gjithashtu, do të mësoni përdorimin bazë të Podman për menaxhimin e kontejnerëve dhe imazheve të kontejnerëve.
Para se të filloni, sigurohuni që të keni kërkesat e mëposhtme:
- Sistemi operativ: Rocky Linux 8.4 (Green Obsidian)
- Privilegjet e rrënjës: Për instalimin e paketave të reja dhe modifikimin e konfigurimit të sistemit
Tani le të fillojmë instalimin e Podman.
Instalimi i Podman në Rocky Linux
Si parazgjedhje, depoja e aplikacionit Rocky Linux ofron paketa podman.
1. Ekzekutoni komandën DNF më poshtë për të shfaqur informacione rreth paketës së podman.
sudo dnf info podman
Ju do të shihni një dalje të ngjashme si më poshtë.
Last metadata expiration check: 0:07:09 ago on Tue 16 Nov 2021 09:30:27 AM UTC.
Available Packages
Name : podman
Version : 3.3.1
Release : 9.module+el8.5.0+710+4c471e88
Architecture : x86_64
Size : 12 M
Source : podman-3.3.1-9.module+el8.5.0+710+4c471e88.src.rpm
Repository : appstream
Summary : Manage Pods, Containers and Container Images
URL : https://podman.io/
License : ASL 2.0 and GPLv3+
Description : podman (Pod Manager) is a fully featured container engine that is a simple
: daemonless tool. podman provides a Docker-CLI comparable command line that
: eases the transition from other container engines and allows the management of
: pods, containers and images. Simply put: alias docker=podman.
: Most podman commands can be run as a regular user, without requiring
: additional privileges.
:
: podman uses Buildah(1) internally to create container images.
: Both tools share image (not container) storage, hence each can use or
: manipulate images (but not containers) created by the other.
:
: Manage Pods, Containers and Container Images
: podman Simple management tool for pods, containers and images
Depoja e rrjedhës së aplikacionit ofron versionin e paketës Podman 3.3.1.
2. Instaloni Podman duke përdorur komandën DNF më poshtë.
sudo dnf install podman
Shkruani y për të konfirmuar dhe shtypni Enter për të vazhduar instalimin.
3. Nëse instalimi i Podman përfundon, verifikojeni duke përdorur komandën e mëposhtme.
podman version
Ju do të shihni një dalje të ngjashme si më poshtë.
Version: 3.3.1
API Version: 3.3.1
Go Version: go1.16.7
Built: Wed Nov 10 01:48:06 2021
OS/Arch: linux/amd64
Konfigurimi i rëndësishëm i Podman
Paketa Podman vjen me disa konfigurime të paracaktuara të vendosura në drejtorinë /etc/containers.
Më poshtë janë disa konfigurime të Podman që duhet të dini.
- policy.json. Konfigurimi i politikës për nënshkrimin e imazhit.
- registries.conf. Lista e regjistrave të disponueshëm të imazheve të kontejnerëve, si p.sh. Regjistri Docker, regjistri i imazheve të kontejnerëve RHEL dhe regjistri i imazheve të kontejnerit Fedora.
- storage.conf. Konfigurimi i ruajtjes së paracaktuar për Podman. Përfshin drejtuesit, vendndodhjen, etj.
- Direktoria registries.d/. Konfigurimi i regjistrave shtesë dhe nënshkrimi i imazhit
- Direktoria registries.conf.d/. Konfigurim shtesë për pseudonimet e imazheve të kontejnerit.
Konfiguro një përdorues të ri
Në këtë hap, do të krijoni një përdorues të ri dhe do të verifikoni instalimin e Podman duke ekzekutuar imazhin e Docker hello-world.
1. Ekzekutoni komandën e mëposhtme për të shtuar një përdorues të ri johndoe.
useradd -m -s /bin/bash johndoe
passwd johndoe
Shkruani fjalëkalimin e ri të fortë për përdoruesin johndoe.
2. Më pas, hyni si përdorues johndoe duke përdorur komandën e mëposhtme.
su - johndoe
3. Tani ekzekutoni komandën e mëposhtme për të ekzekutuar një kontejner të ri bazuar në imazhin Docker hello-world.
podman run hello-world
Do të shihni mesazhet e daljes Hello World, që do të thotë se kontejneri po funksionon por tani ka dalë.
? docker.io/library/hello-world:latest
Trying to pull docker.io/library/hello-world:latest...
Getting image source signatures
Copying blob 2db29710123e done
Copying config feb5d9fea6 done
Writing manifest to image destination
Storing signatures
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/
4. Kontrolloni statusin e kontejnerëve në sistemin tuaj duke përdorur komandën Podman më poshtë
podman ps -a
Do të shihni kontejnerin bazuar në imazhin Docker hello-world me statusin aktual Exited.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cea9bbfeac4d docker.io/library/hello-world:latest /hello 6 minutes ago Exited (0) 6 minutes ago recursing_shaw
Përdorimet bazë të Podman
Në këtë hap, do të mësoni përdorimin bazë të Podman për menaxhimin e kontejnerëve dhe imazheve të kontejnerëve.
Kërkoni imazhet e kontejnerëve
1. Për të gjetur imazhe të kontejnerëve duke përdorur Podman, përdorni komandën e mëposhtme. Në këtë shembull, po kërkonin imazhe të kontejnerëve me emrin nginx.
podman search nginx
Do të shihni shumë imazhe të kontejnerëve nga regjistrat e shumtë.
2. Mund të kufizoni rezultatet e kërkimit nga çdo regjistër i imazheve të kontejnerit duke përdorur opsionin --limit n.
podman search nginx --limit 3
Tani do të shihni çdo regjistër me 3 rezultate të imazheve të kontejnerit me emrin nginx.
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
fedoraproject.org registry.fedoraproject.org/f29/nginx 0
fedoraproject.org registry.fedoraproject.org/f29/origin-nginx-router 0
redhat.com registry.access.redhat.com/ubi8/nginx-120 Platform for running nginx 1.20 or building ... 0
redhat.com registry.access.redhat.com/ubi8/nginx-118 Platform for running nginx 1.18 or building ... 0
redhat.com registry.access.redhat.com/rhscl/nginx-18-rhel7 Nginx 1.8 server and a reverse proxy server 0
centos.org registry.centos.org/bamachrn/nginx-header 0
centos.org registry.centos.org/centos/nginx 0
centos.org registry.centos.org/centos/nginx-110-centos7 0
docker.io docker.io/library/nginx Official build of Nginx. 15839 [OK]
docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker con... 2096 [OK]
docker.io docker.io/nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 54
Menaxho imazhet e kontejnerëve
Podman mbështet formatin e imazheve OCI dhe Docker. Në këtë fazë, ju do të menaxhoni imazhet e kontejnerëve me Podman.
1. Shkarkoni imazhin e kontejnerit nginx:alpine duke përdorur komandën e mëposhtme.
podman pull nginx:alpine
Zgjidhni regjistrin e kontejnerit që dëshironi të përdorni, më pas shtypni Enter për të konfirmuar. Për këtë shembull, ne do të përdorim regjistrin Docker.
? Please select an image:
registry.fedoraproject.org/nginx:alpine
registry.access.redhat.com/nginx:alpine
registry.centos.org/nginx:alpine
? docker.io/library/nginx:alpine
Procesi i shkarkimit do të fillojë.
? docker.io/library/nginx:alpine
Trying to pull docker.io/library/nginx:alpine...
Getting image source signatures
Copying blob a4e156412037 done
Copying blob a2402c2da473 done
Copying blob e0bae2ade5ec done
Copying blob 97518928ae5f done
Copying blob 3f3577460f48 done
Copying blob e362c27513c3 done
Copying config b46db85084 done
Writing manifest to image destination
Storing signatures
b46db85084b80a87b94cc930a74105b74763d0175e14f5913ea5b07c312870f8
2. Nëse procesi i shkarkimit të imazhit të kontejnerit përfundon, verifikoni imazhet e shkarkimit duke përdorur komandën e mëposhtme.
podman images
Më poshtë është rezultati i ngjashëm që do të merrni.
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/nginx alpine b46db85084b8 3 days ago 24.7 MB
docker.io/library/hello-world latest feb5d9fea6a5 7 weeks ago 19.9 kB
Drejtoni kontejnerin me Podman
Pasi të keni shkarkuar imazhin e kontejnerit nginx:alpine, do të mësoni se si të ekzekutoni një enë të re duke përdorur Podman.
1. Ekzekutoni komandën e mëposhtme për të ekzekutuar kontejnerin bazuar në imazhin nginx:alpine.
podman run -it --rm -d -p 8080:80 --name web nginx:alpine
Do të merrni vargun dhe numrin e rastësishëm të kontejnerit.
2. Verifikoni kontejnerin që funksionon në sistemin tuaj duke përdorur komandën e mëposhtme.
podman ps
Do të shihni rezultate të ngjashme si më poshtë.
Emrat e kontejnerit web është Lart dhe ekspozon portën 8080 në kompjuterin pritës.
3. Tani hapni shfletuesin tuaj të internetit dhe shkruani adresën IP të Rocky Linux në shiritin e adresave. Për këtë shembull, makina Rocky Linux ka adresën IP 192.168.1.10.
http://192.168.1.10:8080/
Do të shihni index.html të paracaktuar nga uebi i kontejnerit, i cili bazohet në imazhin e kontejnerit nginx:alpine.
Kontrolloni regjistrat e kontejnerëve me Podman
Tani do të mësoni komandën Podman për kontrollimin e regjistrave të kontejnerëve duke përdorur opsionin logs.
1. Për të kontrolluar regjistrat e kontejnerit, mund të përdorni komandën Podman më poshtë.
podman logs web
Do të shihni regjistrat e detajuar të uebit të kontejnerit.
2. Për të kufizuar daljen e regjistrave të kontejnerëve, përdorni opsionin --tail n.
podman logs --tail 10 web
Më poshtë është prodhimi i ngjashëm i regjistrit të uebit të kontejnerit.
Ndalimi i kontejnerit me Podman
1. Për të ndaluar rrjetën e kontejnerit, përdorni komandën Podman më poshtë.
podman stop web
Tani uebi i kontejnerit do të ndalet.
2. Verifikoni duke përdorur komandën e mëposhtme.
podman ps
podman ps -a
Do të shihni që rrjeti i kontejnerit është fshirë automatikisht sepse përdorni opsionin --rm kur përdorni kontejnerin.
Konfiguro volumin e personalizuar me Podman
Në këtë hap, do të mësoni se si të menaxhoni vëllimet me Podman.
1. Krijoni të dhëna të reja të drejtorisë dhe skedarin e personalizuar index.html. Kjo do të zëvendësojë skedarin e paracaktuar Nginx index.html në kontejnerin Nginx.
mkdir -p ~/data/
nano ~/data/inde.html
Kopjoni dhe ngjisni skriptin e mëposhtëm HTML.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to Container Nginx</title>
</head>
<body>
<h2>Hello from Nginx container - Managed with Podman</h2>
</body>
</html>
Ruani skriptin dhe dilni.
2. Më pas, ekzekutoni komandën e mëposhtme për të krijuar një enë të re me volum të personalizuar.
podman run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine
Përdorni opsionin -v data:/usr/share/nginx/html për të konfiguruar volumin e personalizuar për kontejnerin tuaj të ri. Drejtoria data do të montohet në drejtorinë e kontejnerit /usr/share/nginx/html.
3. Kontrolloni kontejnerët që funksionojnë duke përdorur komandën Podman më poshtë.
podman ps
Emrat e rinj të kontejnerëve uebi është Lart me volumin e personalizuar.
4. Hapni shfletuesin tuaj të internetit dhe shkruani adresën IP të serverit me portën 8080.
http://192.168.1.10:8080/
Tani do të shihni faqen e personalizuar index.html si më poshtë.
SSH në Running Container
Në këtë hap, ju do të hyni në guaskën e kontejnerit të rrjedhshëm.
1. Për t'u identifikuar në kontejnerin që funksionon, përdorni Podman me opsionin exec si më poshtë.
podman exec -it web /bin/sh
2. Pasi të keni hyrë në kontejner, kontrolloni emrin e hostit të kontejnerit, adresën IP dhe tabelën e rrugëtimit.
hostname
ip a
route -n
Tani shkruani exit dhe shtypni Enter për të dalë nga kontejneri.
Pastroni ambientin
Në hapin e fundit, ju do të pastroni mjedisin tuaj.
1. Ndaloni web kontejnerin duke përdorur komandën e mëposhtme.
podman stop web
2. Më pas, hiqni të gjithë kontejnerët me status Dal duke përdorur komandën podman më poshtë.
podman rm $(podman ps --filter "status=exited" -q)
Tani ju keni përfunduar përdorimin bazë të Podman për menaxhimin e kontejnerëve dhe imazheve të kontejnerëve.
konkluzioni
urime! Ju keni instaluar me sukses Podman në sistemin Rocky Linux. Gjithashtu, keni mësuar përdorimin bazë të Podman për menaxhimin e kontejnerëve dhe imazheve të kontejnerëve.
Për hapin tjetër, mund të jeni të interesuar të krijoni imazhe të personalizuara të Kontejnerit bazuar në formatin e imazhit Docker ose specifikimin e imazhit të kontejnerit OCI.