Como instalar Podman
Instalar Podman es algo relativamente sencillo, dependiendo del sistema operativo en el que lo quieras hacer. También, en el caso de Linux, depende, no solo, de la distribución sobre la que lo quieres hacer, sino también sobre la versión de la distribución. Pero, en general, es algo, que como verás es sencillo.
En particular, en este capítulo del tutorial de Podman, te acompañaré en la instalación de este gestor de contenedores, en dos plataformas distintas, primero Linux, y posteriormente en Windows.
En el caso de Linux, me centraré en las distribuciones Ubuntu, Debian y Raspberry Pi OS, mas que nada, porque estas son las que tengo a mano, y siempre quiero probar todo lo que aparece en los tutoriales.
Respecto a Windows, la instalación de Podman la realizaré con WSL2, Windows Subsystem for Linux versión 2, sobre el que hablé en el episodio 231 del podcast titulado Linux en Windows.
Como instalar Podman
Como te decía en la introducción, en este capítulo sobre como instalar Podman, te mostraré como hacerlo tanto en Linux como en Windows. Empezando por Linux.
En cualquiera de los casos, una vez hayas completado el como instalar Podman, no está de mas que realices una comprobación para que te asegures que todo funciona correctamente. Para ello, simplemente ejecuta la siguiente instrucción,
podman run hello-world
O en caso de que quieras recibir el saludo en español, también lo puedes probar con,
podman run atareao/hola-mundo
No te preocupes, que durante los siguientes capítulos del tutorial te mostraré como puedes hacer tu mismo esta imagen, subirla a los repositorios para poder utilizarla desde donde tu necesites.
Linux
En el caso de Linux, utilizaré tres distribuciones, Ubuntu, Debian y Raspberry Pi OS.
Ubuntu
En el caso de querer realizar la instalación de Podman en Ubuntu, te enfrentarás a dos situaciones, dependiendo de la versión de Ubuntu. Para el caso de versiones igual o superior a 20.10 la instalación es tan sencilla como ejecutar estas dos instrucciones en un terminal,
sudo apt update
sudo apt install podman
Para el caso de versiones anteriores a Ubuntu 20.10, tendrás que ejecutar estas cuatro instrucciones,
source /etc/os-release
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 -
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install podman
Debian
En el caso de Debian, te encontrarás con la misma situación que la planteada en el apartado anterior. Depende básicamente de la versión de Debian que tengas. En el caso de Bullseye, la instalación es tan sencilla como ejecutar,
sudo apt update
sudo apt install podman
Para versiones anteriores,
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list
echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/Release.key | sudo apt-key add -
sudo apt-get update
sudo apt-get -y -t buster-backports install libseccomp2
sudo apt-get -y install podman
Raspberry Pi OS
En el caso de Rasbperry, depende de la arquitectura que hayas seleccionado. Si estás utilizando armhf
en este caso, si estás utilizando la versión 10, tienes que ejecutar las siguientes instrucciones,
echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list
echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Raspbian_10/ /' | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Raspbian_10/Release.key | sudo apt-key add -
sudo apt update
sudo apt install podman
Si la arquitectura es arm64
en este caso, tienes que seguir exactamente los mismos pasos que he indicado anteriormente para Debian.
Windows
La instalación de Podman en Windows es casi tan sencilla como con Ubuntu, pero tienes que dar algún paso adicional. Aunque tampoco te tienes que preocupar, porque como verás a continuación es realmente sencillo. Lo mejor de todo, es que en unos pocos instantes, puedes estar levantando contenedores de forma sencilla.
Requisito básico para que esto funcione correctamente es que tengas instalado el WSL2. Si no sabes como instalarlo, te recomiendo que escuches el podcast 239 de Linux en Windows, y que revises las notas del podcast.
Una vez tengas instalado y funcionando el subsistema de de Windows para Linux tienes que instalar desde la tienda de aplicaciones Ubuntu. Una vez instalado Ubuntu, sigue los pasos que te indico a continuación,
El primer paso es añadir el repositorio e instalar Podman, para ello no tienes mas que seguir las instrucciones que detallo a continuación,
source /etc/os-release
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt update
sudo apt install podman
Llegados a esto punto, si quieres levantar los contenedores sin necesidad de ganar derechos de administrador, es decir, sin privilegios de root, tienes que ejecutar la siguiente instrucción,
mkdir -p ~/.config/containers
cp /etc/containers/containers.conf ~/.config/containers/
sed -i 's/^\#\sevents_logger\s=\s\"journald\"/ events_logger = "file"/g' ~/.config/containers/containers.conf
Llegados a este punto ya pueds ejecutar la instrucción siguiente y comprobar que todo funciona como esperas,
podman run atareao/hola-mundo
Primeros pasos con Podman
Antes de profundizar en imágenes y contenedores, y ahora que has terminado la instalación de Podman en tu sistema operativo, estoy convencido de que no te vas a poder resistirte a ponerlo a prueba, a comenzar a utilizarlo. En este sentido, a continuación, te muestro algunas indicaciones para que comiences a dar tus primeros pasos con Podman.
Configuración adicional
Una de las características de Podman es la posibilidad de trabajar sin necesidad de ganar derechos de administrador, rootless mode. Sin embargo, para esto es necesario realizar algunas acciones.
- El primer paso es instalar
slirp4netns
. Si no me equivoco, al menos, en el caso de Ubuntu se instala con Podman, pero en cualquier caso, lo puedes instalar ejecutandosudo apt install slirp4netns
. - Tienes que instalar
fuse-overlayfs
y tenerlo habilitado. Si has instalado Podman antes que esta herramienta tienes que configurarlo de forma manual. Para ello, tienes que editar el archivo/etc/containers/storage.conf
y modificardriver
en la secciónstorage
aoverlay
, y por otro lado tienes que des comentarmount_program = "/usr/bin/fuse-overlayfs"
en la secciónstorage.options.overlay
. Es decir,
[storage]
driver = "overlay"
...
[storage.options.overlay]
mount_program = "/usr/bin/fuse-overlayfs"
...
De nuevo, indicarte que si instalaste Podman antes de instalar fuse-overlayfs
, tienes que borrar el siguiente directorio para que todo funcione perfectamente,
rm -rf ~/.local/share/containers/storage/
La ayuda
Podman, como no podía ser de otra forma, viene empaquetado con su propia ayuda, a la que puedes acceder fácilmente con tan solo ejecutar podman --help
. Esto te ofrece una ayuda básica para cada uno de sus comandos,
$ podman --help
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
...
Sin embargo puedes obtener mas ayuda para cada uno de los comandos ejecutando podman <comando> --help
, como puedes ver en el siguiente ejemplo que te muestro a continuación,
$ podman run --help
Run a command in a new container
Description:
Runs a command in a new container from the given image
Usage:
podman run [options] IMAGE [COMMAND [ARG...]]
Examples:
podman run imageID ls -alF /etc
podman run --network=host imageID dnf -y install java
podman run --volume /var/hostdir:/var/ctrdir -i -t fedora /bin/bash
Options:
--add-host strings Add a custom host-to-IP mapping (host:ip) (default [])
--annotation strings Add annotations to container (key:value
...
De la misma manera, puedes acceder a esta ayuda utilizando las páginas man
. Así para llegar a la ayuda de Podman simplemente tienes que ejecutar man podman
. Mientras que para tener la ayuda de cualquiera de los comandos, hay que hacerlo de forma ligeramente diferente man podman-<comando>
. Por ejemplo, para el mismo caso que has visto en el ejemplo anterior,
$ man podman-run
NAME
podman-run - Run a command in a new container
SYNOPSIS
podman run [options] image [command [arg ...]]
podman container run [options] image [command [arg ...]]
DESCRIPTION
Run a process in a new container. podman run starts a process with its own file
system, its own networking, and its own isolated process tree. The image which
starts the process may define defaults related to the process that will be run in
the container, the networking to expose, and more, but podman run gives final
control to the operator or administrator who starts the container from the image.
For that reason podman run has more options than any other Podman command.
Como tu mismo has podido observar, la ayuda que aparece en las manpages es mucho mas completa
Autocompletado
Aparte de la ayuda, otra herramienta que te puede ser de gran utilidad es el autocompletado. Al menos en el caso de Ubuntu y Bash este se instala por defecto, y funciona a la perfección, aunque por lo que puedo leer en GitHub, se hizo un merge donde se incluyó el autocompletado tanto para Zsh
como para Fish
.
El autocompletado te facilita el uso de podman, al igual que sucede con otras muchas herramientas directamente en el terminal. Simplemente tienes que introducir parte de una instrucción y pulsando la tecla tabulador
se producirá la magia.
Para que veas el funcionamiento en tiempo real, y si ya has probado a ejecutar hello-world
o hola-mundo
, ahora escribe podman run hol
y pulsa la tecla tab
. Si todo ha ido bien, tienes que ver como se completa y aparece podman run hola-mundo
.
Esto funciona tanto con los comandos y sub comandos de Podman, como con las imágenes y contenedores que tengas disponibles en tu equipo.
Conclusiones
Una vez instalado Podman, el siguiente paso, es comenzar a trabajar con imágenes, y posteriormente con los propios contenedores en si. Y luego ya todo lo que tu quieras. En el siguiente capítulo del tutorial, nos adentraremos en el uso de las imágenes con Podman.
Más información,
Imagen de portada de Fleur en Unsplash
La entrada Como instalar Podman aparece primero en Atareao.