Cómo instalar Podman en Ubuntu 22.04
Podman, también llamado «Pod Manager», es una herramienta de código abierto utilizada para crear y gestionar contenedores. Forma parte de la biblioteca libpod que no depende del demonio Docker y es compatible con Docker. Es un entorno de ejecución de contenedores sencillo y ligero para Kubernetes. Con el reciente cambio en la licencia de Docker, podman puede convertirse en una buena alternativa disponible para usar en la mayoría de los sistemas Linux.
En este tutorial, te mostraré cómo instalar y utilizar Podman en un servidor Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 22.04.
- Una contraseña de root configurada en el servidor.
Instalar Podman en Ubuntu 22.04
Por defecto, el paquete Podman está incluido en el repositorio por defecto de Ubuntu. Puedes instalarlo simplemente ejecutando el siguiente comando:
apt install podman -y
Una vez instalado Podman, puedes verificarlo con el siguiente comando:
podman -v
Deberías ver la versión de Podman en la siguiente salida:
podman version 3.4.4
También puedes ver la información detallada sobre Podman con el siguiente comando:
podman info
Deberías obtener la siguiente salida:
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:
Configurar el registro de Podman
Por defecto, el registro de Podman no está configurado para descargar e instalar imágenes de contenedores desde la web. Así que primero tendrás que configurarlo.
nano /etc/containers/registries.conf
Añade las siguientes líneas:
[registries.search] registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
Guarda y cierra el archivo cuando hayas terminado.
Descargar imágenes con Podman
Podman te permite buscar y descargar fácilmente imágenes desde la web. Por ejemplo, para buscar una imagen de Debian, ejecuta el siguiente comando:
podman search debian
Deberías obtener una lista de todas las imágenes de Debian en la siguiente salida:
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]
A continuación, descarga la última imagen de Debian de Internet con el siguiente comando:
podman pull debian
Esto buscará y descargará la última imagen de Debian como se muestra a continuación:
Getting image source signatures Copying blob 23858da423a6 done Copying config 43d28810c1 done Writing manifest to image destination Storing signatures 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Ahora puedes verificar la imagen descargada con el siguiente comando:
podman images
Deberías ver la siguiente salida:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian latest 43d28810c1b4 5 days ago 129 MB
Crear y gestionar un contenedor con Podman
Con Podman, puedes crear y gestionar fácilmente contenedores a través de la línea de comandos.
Para crear un contenedor a partir de la imagen de Debian, ejecuta el siguiente comando:
podman run -dit --name debian-container debian
Una vez creado el contenedor, puedes ver el contenedor en ejecución con el siguiente comando:
podman ps
Deberías ver la siguiente salida:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 533698eaf6f1 docker.io/library/debian:latest bash 6 seconds ago Up 6 seconds ago debian-container
Para conectarte al contenedor Debian, ejecuta el siguiente comando
podman attach debian-container
Entrarás en el contenedor Debian como se muestra a continuación:
root@533698eaf6f1:/#
Puedes verificar la versión del contenedor con el siguiente comando:
cat /etc/os-release
Obtendrás la siguiente salida:
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/"
Para salir del contenedor, ejecuta el siguiente comando:
root@533698eaf6f1:/# exit
Para detener el contenedor, ejecuta el siguiente comando:
podman stop debian-container
Para iniciar el contenedor, ejecuta el siguiente comando:
podman start debian-container
Para eliminar el contenedor, ejecuta el siguiente comando:
podman rm debian-container
Para eliminar la imagen de Debian, ejecuta el siguiente comando:
podman rmi debian
Obtendrás la siguiente salida:
Untagged: docker.io/library/debian:latest Deleted: 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Puedes listar todas las opciones del comando Podman con el siguiente comando:
podman --help
Deberías ver todas las opciones útiles en la siguiente salida:
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
Introducción a Podman
Una guía detallada sobre cómo utilizar Podman para crear imágenes, volúmenes y contenedores está disponible aquí: Introducción a Podman: Gestionar imágenes, contenedores y volúmenes
Conclusión
Enhorabuena! has instalado con éxito Podman en el servidor Ubuntu 22.04. Ahora puedes utilizar Podman como herramienta alternativa a Docker para gestionar el contenedor. No dudes en preguntarme si tienes alguna duda. Para más información sobre Podman, visita la página de documentación de Podman.