Come installare Podman su Ubuntu 22.04
Questo tutorial esiste per queste versioni del sistema operativo
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
Su questa pagina
- Prerequisiti
- Installa Podman su Ubuntu 22.04
- Configura il registro Podman
- Scarica immagini con Podman
- Crea e gestisci container utilizzando Podman
- Introduzione a Podman
- Conclusione
Podman chiamato anche \Pod Manager\ è uno strumento open source utilizzato per creare e gestire contenitori. Fa parte della libreria libpod che non si basa sul demone Docker ed è compatibile con Docker. È un ambiente di runtime del contenitore semplice e leggero per Kubernetes. Con la recente modifica della licenza Docker, podman può diventare una buona alternativa disponibile per l'uso nella maggior parte dei sistemi Linux.
In questo tutorial, ti mostrerò come installare e utilizzare Podman sul server Ubuntu 22.04.
Prerequisiti
- Un server che esegue Ubuntu 22.04.
- Sul server è configurata una password di root.
Installa Podman su Ubuntu 22.04
Per impostazione predefinita, il pacchetto Podman è incluso nel repository predefinito di Ubuntu. Puoi installarlo semplicemente eseguendo il seguente comando:
apt install podman -y
Una volta installato il Podman, puoi verificarlo con il seguente comando:
podman -v
Dovresti vedere la versione di Podman nel seguente output:
podman version 3.4.4
Puoi anche vedere le informazioni dettagliate su Podman con il seguente comando:
podman info
Dovresti ottenere il seguente output:
host: arch: amd64 buildahVersion: 1.23.1 cgroupControllers: - cpuset - cpu - io - memory - hugetlb - pids - rdma - misc cgroupManager: systemd cgroupVersion: v2 conmon: package: 'conmon: /usr/bin/conmon' path: /usr/bin/conmon version: 'conmon version 2.0.25, commit: unknown' cpus: 2 distribution: codename: jammy distribution: ubuntu version: "22.04" eventLogger: journald hostname: ubuntu2204 idMappings:
Configura il registro Podman
Per impostazione predefinita, il registro Podman non è configurato per scaricare e installare le immagini del contenitore dal Web. Quindi dovrai prima configurarlo.
nano /etc/containers/registries.conf
Aggiungi le seguenti righe:
[registries.search] registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
Salva e chiudi il file quando hai finito.
Scarica immagini con Podman
Podman ti consente di cercare e scaricare facilmente immagini dal web. Ad esempio, per cercare un'immagine Debian, eseguire il seguente comando:
podman search debian
Dovresti ottenere un elenco di tutte le immagini Debian nel seguente output:
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/library/ubuntu Ubuntu is a Debian-based Linux operating sys... 14959 [OK] docker.io docker.io/library/debian Debian is a Linux distribution that's compos... 4435 [OK] docker.io docker.io/library/neurodebian NeuroDebian provides neuroscience research s... 93 [OK] docker.io docker.io/bitnami/debian-base-buildpack Debian base compilation image 2 [OK] docker.io docker.io/mirantis/debian-build-ubuntu-xenial 0 docker.io docker.io/mirantis/debian-build-ubuntu-trusty 0 docker.io docker.io/osrf/debian_arm64 Debian arm64 Base Images 1 docker.io docker.io/rancher/debianconsole 1 docker.io docker.io/dokken/debian-10 Debian 10 image for use with kitchen-dokken 0 docker.io docker.io/dokken/debian-9 Debian 9 image for kitchen-dokken 0 docker.io docker.io/ustclug/debian Official Debian Image with USTC Mirror 1 docker.io docker.io/dokken/debian-8 EOL: Debian 8 image for kitchen-dokken 0 docker.io docker.io/dokken/debian-11 Debian 11 image for use with kitchen-dokken 0 docker.io docker.io/corpusops/debian-bare https://github.com/corpusops/docker-images/ 0 docker.io docker.io/datadog/debian-i386 0 docker.io docker.io/corpusops/debian debian corpusops baseimage 0 docker.io docker.io/osrf/debian_armhf Debian Armhf Base Images 1 docker.io docker.io/treehouses/debian 2 docker.io docker.io/dokken/debian-7 EOL DISTRO: For use with kitchen-dokken, Bas... 0 docker.io docker.io/treehouses/debian-tags 0 docker.io docker.io/dokken/debian-12 0 docker.io docker.io/dockage/debian-runit Docker image uses runit as a process supervi... 2 [OK] docker.io docker.io/galaxy/debian32-wheel 0 docker.io docker.io/galaxy/debian-wheel 0 docker.io docker.io/dockage/debian Debian image that forms the base for some Do... 2 [OK]
Successivamente, scarica l'ultima immagine Debian da Internet utilizzando il seguente comando:
podman pull debian
Questo cercherà e scaricherà l'ultima immagine Debian come mostrato di seguito:
Getting image source signatures Copying blob 23858da423a6 done Copying config 43d28810c1 done Writing manifest to image destination Storing signatures 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Ora puoi verificare l'immagine scaricata con il seguente comando:
podman images
Dovresti vedere il seguente output:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian latest 43d28810c1b4 5 days ago 129 MB
Crea e gestisci container utilizzando Podman
Con Podman, puoi creare e gestire facilmente i contenitori tramite la riga di comando.
Per creare un contenitore dall'immagine Debian, esegui il seguente comando:
podman run -dit --name debian-container debian
Una volta creato il contenitore, puoi vedere il contenitore in esecuzione con il seguente comando:
podman ps
Dovresti vedere il seguente output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 533698eaf6f1 docker.io/library/debian:latest bash 6 seconds ago Up 6 seconds ago debian-container
Per connettersi al contenitore Debian, eseguire il seguente comando:
podman attach debian-container
Entrerai nel contenitore Debian come mostrato di seguito:
:/#
Puoi verificare la versione del contenitore con il seguente comando:
cat /etc/os-release
Otterrai il seguente output:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
Per uscire dal contenitore, eseguire il seguente comando:
:/# exit
Per arrestare il contenitore, eseguire il seguente comando:
podman stop debian-container
Per avviare il contenitore, eseguire il seguente comando:
podman start debian-container
Per eliminare il contenitore, eseguire il seguente comando:
podman rm debian-container
Per eliminare l'immagine Debian, eseguire il seguente comando:
podman rmi debian
Otterrai il seguente output:
Untagged: docker.io/library/debian:latest Deleted: 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Puoi elencare tutte le opzioni di comando Podman con il seguente comando:
podman --help
Dovresti visualizzare tutte le opzioni utili nel seguente output:
Manage pods, containers and images Usage: podman [options] [command] Available Commands: attach Attach to a running container auto-update Auto update containers according to their auto-update policy build Build an image using instructions from Containerfiles commit Create new image based on the changed container container Manage containers cp Copy files/folders between a container and the local filesystem create Create but do not start a container diff Display the changes to the object's file system events Show podman events exec Run a process in a running container export Export container's filesystem contents as a tar archive generate Generate structured data based on containers, pods or volumes healthcheck Manage health checks on containers help Help about any command history Show history of a specified image image Manage images images List images in local storage import Import a tarball to create a filesystem image info Display podman system information init Initialize one or more containers inspect Display the configuration of object denoted by ID kill Kill one or more running containers with a specific signal load Load image(s) from a tar archive login Login to a container registry logout Logout of a container registry logs Fetch the logs of one or more containers machine Manage a virtual machine manifest Manipulate manifest lists and image indexes mount Mount a working container's root filesystem network Manage networks pause Pause all the processes in one or more containers play Play containers, pods or volumes from a structured file pod Manage pods port List port mappings or a specific mapping for the container ps List containers pull Pull an image from a registry push Push an image to a specified destination rename Rename an existing container restart Restart one or more containers rm Remove one or more containers rmi Removes one or more images from local storage run Run a command in a new container save Save image(s) to an archive search Search registry for image secret Manage secrets start Start one or more containers stats Display a live stream of container resource usage statistics stop Stop one or more containers system Manage podman tag Add an additional name to a local image top Display the running processes of a container unmount Unmounts working container's root filesystem unpause Unpause the processes in one or more containers unshare Run a command in a modified user namespace untag Remove a name from a local image version Display the Podman version information volume Manage volumes wait Block on one or more containers
Iniziare con Podman
Una guida dettagliata su come utilizzare Podman per creare immagini, volumi e contenitori è disponibile qui: Introduzione a Podman: gestione di immagini, contenitori e volumi
Conclusione
Congratulazioni! hai installato con successo Podman sul server Ubuntu 22.04. Ora puoi utilizzare Podman come strumento alternativo per Docker per gestire il contenitore. Non esitate a chiedermi se avete domande. Per ulteriori informazioni su Podman, visita la pagina della documentazione relativa a Podman.