Podman è una piattaforma container senza demone gratuita e open source creata per sviluppare, gestire e distribuire container e pod in un ambiente Linux. I pod sono gruppi di contenitori che di solito vengono distribuiti sullo stesso sistema host.
Podman sta gradualmente sostituendo docker, un'altra piattaforma di containerizzazione che gli sviluppatori utilizzano per distribuire le loro applicazioni insieme a dipendenze e librerie. La principale differenza tra i due è che mentre docker è un demone che può essere avviato, abilitato, arrestato e riavviato, podman non lo è. Podman è considerato più sicuro grazie alla sua capacità di registrazione degli audit nei container. L'auditing svolge un ruolo cruciale nel monitoraggio dei processi in esecuzione in un container.
Passiamo ora dalla A alla Z su come installare podman e come eseguire e gestire i container con podman.
Installazione di podman su CentOS 8
Per installare podman su CentOS 8, accedi semplicemente come utente root ed esegui il comando:
[[email protetta] ~]# dnf install podman
Installazione di podman su RHEL 8
Esegui il comando seguente per installare Podman sul sistema RHEL 8
[[email protected] ~]# dnf module install container-tools -y
Dopo aver completato il processo di installazione, controlla la versione di podman usando il comando:
[[email protetta] ~]# podman --versionpodman versione 1.0.5[[email protetta] ~]#
Esegui il comando seguente per visualizzare le informazioni sul sistema Podman
[[email protetta] ~]# info podman
Questa è una conferma che podman è stato installato correttamente.
Cerca e scarica l'immagine dei contenitori con Podman
Adesso cambiamo marcia e vediamo le varie operazioni che possiamo svolgere con podman. Per cercare un'immagine, usa la sintassi
# podman cerca nome_immagine
Ad esempio, per cercare l'immagine di Fedora System, eseguire il comando:
[[email protected] ~]# podman search fedora
Nell'output, puoi vedere il registro da cui stai cercando, in questo caso, quay.io e una breve descrizione delle immagini.
Per scaricare l'immagine, esegui semplicemente
# podman pull nome_immagine
Scaricheremo 2 immagini aggiuntive, Fedora e Ubuntu
[[email protected] ~]# podman pull fedora[[email protected] ~]# podman pull ubuntu
Per visualizzare le immagini scaricate, eseguire il comando:
[[e -mail protetto] ~]# podman ImageRepository Tag ID ID Creato SizeCer.io/library/Ubuntu Ultimo 549B9B86CB8d 35 ore 66,6 MBDocker.io/library/FeDora Ultimo F0858AD3FEBD 7 settimane fa 201 MB [[e -mail Protected] ~ ~ ]#
Esegui i container con Podman
Per eseguire un container usando un'immagine Fedora che stampa un messaggio sullo schermo, esegui:
[[email protected] ~]# podman run --rm fedora /bin/echo "Hello Geeks! Welcome to Podman"Hello Geeks! Benvenuto in Podman[[email protected] ~]#
Nota: Il comando precedente rimuoverà anche il contenitore dopo aver visualizzato il messaggio.
Avvia un contenitore usando l'immagine di Ubuntu, supponiamo che il nome del contenitore sia "web-ubuntu"
[[email protected] ~]# podman run -dit --name web-ubuntu -p 80:80 ubuntu0ffe7bd1c08d89f4443f3fe81a18163a3d0c52ba53ce834c30643fb4678e8be9[[email protected] ~]#
Sopra il comando podman avvierà un container e reindirizzerà 80 richieste di porte dal sistema podman al container dello spazio web sulla porta 80.
Avvia un altro contenitore usando l'immagine Fedora con nome db-space, allega un volume aggiuntivo a questo contenitore (/opt/dbspace)
[[email protected] ~]# podman run -dit --name db-space -v /opt/dbspace:/mnt -p 3306:3306 fedora9fe2ae21ca6373b827db3e965300920b1bc1a9cf19206031f1c8819889e12520[[email protected] ~]#prectedIl comando podman sopra avvierà un contenitore e allegherà una cartella come volume "/opt/dbspace" e reindirizzerà anche la richiesta di porta 3306 dal sistema podman al contenitore db-space sulla porta 3306.
Per visualizzare solo i contenitori in esecuzione, esegui il comando podman di seguito:
[[email protetto] ~]# podman pscontainer comando immagine comandi create porte di stato nomi9fe2e21ca63 docker.io/library/fedora:latest/bin/bash 14 minuti fa 14 minuti fa 0.0.0.0:3306->3306/tcp db-space0ffe7bd1c08d docker.io/library/ubuntu:latest /bin/bash 15 minuti fa Fino a 15 minuti fa 0.0.0.0:80->80/tcp web-ubuntu[[email protected] ~]#Per elencare tutti i contenitori, fermi o in esecuzione, eseguire il comando:
[[email protetto] ~]# podman ps -acontainer ID comando immagine porte di stato creato nomi22ca547d980f docker.io/library/ubuntu:latest/bin/bash circa un minuto fa uscito (0) circa un minuto fa wiki -container9fe2ae21ca63 docker.io/library/fedora:latest /bin/bash 15 minuti fa Su 15 minuti fa 0.0.0.0:3306->3306/tcp db-space0ffe7bd1c08d docker.io/library/ubuntu:latest /bin/bash 16 minuti fa Su 16 minuti fa 0.0.0.0:80->80/tcp web-ubuntu[[email protected] ~]#Puoi ispezionare un container utilizzando il suo ID eseguendo:
[[email protetta] ~]# podman ispeziona 0ffe7bd1c08d
Per ottenere il prompt della shell del contenitore esistente, utilizzare di seguito "podman attach ” comando, in questo caso, accedendo al contenitore db-space tramite il suo id, utilizzare il comando
# podman allega
[[email protected] ~]# podman allegare 9fe2ae21ca63[[email protected] /]#Per uscire dal prompt della shell del contenitore senza uscire o interromperlo, utilizzare i tasti "ctrl+p+q ”
Visualizzazione dei registri dei contenitori
Per visualizzare i log generati da un contenitore specifico, utilizza la sintassi:
# podman registra
Ad esempio,
[[email protetta] ~]# podman logs 9fe2ae21ca63Per visualizzare gli ultimi log eseguiti
[[email protected] ~]# podman logs --latest 9fe2ae21ca63Se desideri visualizzare i log in tempo reale, usa l'opzione -f come mostrato
# registri podman -f
[[email protetta] ~]# podman logs -f 9fe2ae21ca63Rimozione contenitori con podman
Una volta che sei soddisfatto di lavorare con i tuoi contenitori, puoi scegliere di rimuoverli. Ma prima, elenca tutti i contenitori
[[email protetta] ~]# podman ps -aPer eliminare un singolo contenitore, usa l'opzione rm seguita dall'id-contenitore come mostrato nel comando seguente.
Supponiamo di voler eliminare "wiki-container"
[[email protetta] ~]# podman rm 22ca547d980f22ca547d980f3051d72eb9f475777e31244c78fc038c41e0250c7d5fe44cdbc5[[e-mail protetta] ~]#Nota: Nel caso in cui il contenitore sia in esecuzione e desideri eliminarlo senza interromperlo, utilizzare l'opzione -f insieme a rm, l'esempio è mostrato di seguito,
[email protetta] ~]# podman rm 22ca547d980fGestione dei contenitori in podman
In questa sezione, vedremo come gestire i pod usando podman. I pod sono come quelli che potresti trovare in una configurazione Kubernetes.
Per creare un pod, diciamo un pod chiamato webserver, esegui il comando:
[[email protected]uxtechi ~]# podman pod create --name webserver920653c492450f295f92036910649542d40b80d10cc95b836acb30eb91a579ef[[email protected] ~]#Per elencare i pod, esegui sotto il comando podman,
[[email protected] ~]# podman pod listPOD ID NAME STATUS CREATED N. DI CONTENITORI INFRA ID920653c49245 server web In esecuzione Circa un minuto fa 1 2 afDopo aver creato un nuovo pod, noterai che contiene un contenitore chiamato infra. Il suo scopo principale è ospitare gli spazi dei nomi associati al pod e ciò consente al pod di comunicare con altri contenitori.
[[email protetta] ~]# podman ps -a --pod
Puoi aggiungere un contenitore a un pod eseguendo:
[[email protetta] ~]# podman run -dt --pod webserver centos:latest topEsegui sotto il comando podman per verificare se il contenitore è stato aggiunto al pod o meno
[[email protetta] ~]# podman ps -a --podOutput di sopra entrambi i comandi:
L'output conferma che abbiamo avviato correttamente un container nel pod. Questo è tutto da questo articolo.
Conclusione
Podman sta facendo passi da gigante nell'ecosistema della containerizzazione e sembra promettente poiché prende gradualmente il posto di Docker. Anche se Docker sarà sicuramente in circolazione per un po', non possiamo sottolineare abbastanza che il futuro di Podman sembra luminoso. In questo argomento hai imparato come installare e utilizzare Podman per eseguire i container