Podman è uno strumento open source per la gestione di contenitori, immagini, volumi e pod (gruppo di contenitori). Utilizza le API della libreria libpod per la gestione dei cicli di vita dei container e supporta più formati di immagine dei container, tra cui OCI (Open Container Initiative) e immagini Docker.
Podman è il motore di container per la conformità OCI (Open Container Initiative). È compatibile con l'interfaccia Docker CLI e consente di eseguire container senza root (contenitore in esecuzione senza privilegi di root). Podman è stato rilasciato come parte di Red Hat Enterprise Linux, progettato per essere la prossima generazione di strumenti container Linux con sperimentazione e sviluppo di funzionalità più rapidi.
Per questo tutorial imparerai come installare Podman sul sistema Ubuntu 20.04. Installerai Podman e imparerai gli usi di base di podman per la gestione di contenitori, immagini e volumi Docker.
Prerequisiti
- Un server Ubuntu 20.04 - assicurati che tutti i pacchetti siano della versione più recente, per eliminare le dipendenze deprecate e causare un errore durante l'installazione.
- Un utente con privilegi di root o utente root - per installare nuovi pacchetti e modificare la configurazione a livello di sistema.
Installazione di Podman su Ubuntu 20.04
All'inizio, aggiungerai un repository e una chiave di terze parti per l'installazione di podman sul sistema Ubuntu 20.04.
1. Esegui il comando seguente per esportare le variabili di ambiente su '/etc/os-release '.
2. Aggiungi il repository podman con versione stabile e aggiungi la chiave GPG al tuo sistema usando il comando seguente.
echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L "https://download.opensuse.org/repositories/devel:/kubic :/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key" | sudo apt-key add -
3. Aggiorna/aggiorna i repository di Ubuntu e aggiorna tutti i pacchetti all'ultima versione.
sudo apt update
sudo apt -y upgrade
4. Successivamente, installa podman usando il comando apt di seguito.
sudo apt install podman
Digita 'y ' e premi 'Invio ' per continuare l'installazione.
5. Al termine dell'installazione, verifica la versione di podman utilizzando il comando seguente.
versione Podman
Di seguito è riportato l'output simile che otterrai.
Come si può vedere, hai installato podman v3.3.1 compilato con Go 1.16 per l'architettura Linux amd64 (64-bit).
Creazione di un nuovo utente ed esegui container hello-world
Podman ti consente di eseguire contenitori sotto l'utente senza privilegi di root. Per questa fase, aggiungerai un nuovo utente ed eseguirai il contenitore "hello-world" in base all'immagine Docker.
1. Esegui il comando seguente per aggiungere un nuovo utente 'johndoe'.
useradd -m -s /bin/bash johndoe
passwd johndoe
Digita la nuova password per l'utente 'johndoe '.
2. Successivamente, accedi come utente 'johndoe' ed esegui il contenitore in base all'immagine Docker 'hello-world'.
Accedi come utente 'johndoe '.
su - johndoe
Esegui un nuovo contenitore basato sull'immagine Docker 'hello-world ' usando il comando podman.
podman run hello-world
Ti verrà chiesto quale registro contenitori desideri utilizzare, scegli il registro contenitori 'docker.io' e vedrai un output simile come di seguito.
3. Per verificare il tuo contenitore e le immagini sul computer locale, esegui il comando seguente.
podman ps -a
immagini podman
Vedrai che è stato creato un nuovo contenitore e lo stato corrente è "Esci '. Il contenitore è basato sul 'hello-world ' Immagine Docker.
Utilizzo di base di Podman
Con questa guida imparerai come utilizzare podman per la gestione di contenitori, immagini e volumi. Imparerai il comando di base di podman per la gestione del container e i comandi che utilizzerai per questa guida sono identici al 100% al comando Docker CLI.
1. Per trovare le immagini del contenitore compatibili con podman, esegui il comando podman di seguito.
podman ricerca nginx
E vedrai un elenco di immagini del contenitore dal Docker predefinito registro immagini e Quay registro delle immagini.
Scegli le immagini del contenitore "nginx" dal registro Docker e scaricale sul tuo computer locale utilizzando il comando podman di seguito.
podman pull nginx:alpine
Scegli il registro dei contenitori 'docker.io ' e inizierà il processo di download dell'immagine del contenitore Nginx.
2. Per controllare le immagini del contenitore disponibili sul tuo computer locale, esegui il comando podman di seguito.
immagini Podman
E vedrai due immagini:ciao-mondo e nginx immagini.
3. Successivamente, per avviare ed eseguire un nuovo contenitore basato sull'immagine 'nginx:alpine ', esegui il comando podman con l'opzione 'esegui ' come di seguito.
podman run -it --rm -d -p 8080:80 --name web nginx:alpine
Alcune opzioni che devi conoscere:
- -i o --interattivo - tenere aperto il contenitore STDIN anche se sganciato.
- -t o --tty - assegna uno pseudo-terminale che collega il tuo terminale con lo STDIN e lo STDOUT del container.
- --rm - rimuovere automaticamente il contenitore all'uscita o all'arresto del contenitore.
- -d - eseguendo il contenitore in background, scollega il contenitore dopo che è in esecuzione.
- -p 8080:80 - mappare la porta tra container e sistema host. La porta '80' sul container è mappata alla porta del sistema host '8080'.
- --nome web - specifica il nuovo nome del contenitore come 'web'.
- nginx:alpino - l'immagine che utilizziamo è 'nginx:alpine'.
Vedrai la stringa casuale e il numero del tuo contenitore in esecuzione. Verifica il tuo container in esecuzione utilizzando il comando podman di seguito.
podman ps
Vedrai l'output come di seguito.
Lo stato del contenitore è 'Su ' ed espone la porta TCP port '8080 ' sul computer host.
Apri il tuo browser web e visita l'indirizzo IP del tuo server con la porta '8080 ' come di seguito.
http://192.168.1.15:8080/
E vedrai l'età predefinita "index.html" del tuo contenitore nginx.
4. Inoltre, puoi controllare i log del tuo container utilizzando i 'log ' come di seguito.
podman registra il web
Oppure puoi specificare le ultime righe numeriche del log del contenitore con '--tail ' come di seguito.
registri podman --tail 10 web
5. Ora puoi interrompere il contenitore in esecuzione utilizzando l'opzione podman 'stop ' come di seguito.
podman stop web
Il tuo contenitore "web" verrà interrotto. Verifica utilizzando il comando seguente.
podman ps
podman ps -a
E vedrai un output simile come di seguito.
Il contenitore "web" viene interrotto ed eliminato automaticamente perché stai utilizzando l'opzione "--rm" sul tuo comando Podman.
6. Successivamente, imparerai come utilizzare il volume personalizzato per modificare l'"index.html" predefinito nel nuovo contenitore.
Crea una nuova directory '~/data ' e 'index.html ' utilizzando il comando seguente.
mkdir -p ~/data/
nano ~/data/index.html
Copia e incolla lo script HTML qui sotto.
Benvenuto in Container Nginx
Hello from Nginx container - Gestito con Podman
Premi 'Ctrl+x ', digita 'y ', quindi premi 'Invio ' per salvare la configurazione ed uscire.
Ora esegui il seguente comando podman per eseguire il nuovo contenitore con il volume personalizzato.
podman run -it --rm -d -p 8080:80 --name web -v ~/data:/usr/share/nginx/html nginx:alpine
Un'opzione che devi conoscere:
- -v - specifica il volume per il tuo contenitore. Il '~/dati ' verrà montata nella nuova directory del contenitore '/usr/share/nginx/html '.
Ora esegui il comando seguente per verificare il contenitore in esecuzione.
podman ps
Vedrai il nuovo contenitore 'web ' nello stato 'Su '.
Quindi, apri il tuo browser web e digita l'indirizzo IP del tuo server con la porta '8080 '.
http://192.168.1.15:8080/
E vedrai la pagina index.html personalizzata che hai creato in alto, il che significa '~/data ' viene montata la directory 'web ' contenitore.
7. Successivamente, puoi accedere al contenitore in esecuzione con l'opzione 'exec ' ed eseguire la shell 'sh'.
Assicurati che il tuo contenitore sia "web ' è in esecuzione utilizzando il comando seguente.
podman ps
Ora esegui il comando podman di seguito per accedere al contenitore 'web'.
podman exec -it web /bin/sh
Controlla il nome host del contenitore 'web'.
nome host
Controlla l'indirizzo IP e la tabella di routing del contenitore 'web'.
ip a
percorso -n
Ora digita 'exit ' per uscire dal contenitore 'web '.
8. Ora ripulisci il tuo ambiente usando il seguente comando.
Arresta il contenitore "web ' usando il comando podman di seguito.
podman stop web
Rimuovi tutti i contenitori con lo stato "Uscita" usando il comando podman di seguito.
podman rm $(podman ps --filter "status=exited" -q)
Conclusione
Congratulazioni! Hai installato correttamente Podman sul sistema Ubuntu 20.04. Inoltre, hai appreso l'utilizzo di base di podman per il download di immagini del contenitore, l'esecuzione del contenitore, il controllo dello stato del contenitore, i registri e l'utilizzo di base di podman per la gestione del volume. Per il passaggio successivo, puoi provare a creare le tue immagini personalizzate con le specifiche OCI per il push/upload dell'applicazione nel registro dei contenitori.