Appearance
Podman
La alternativa a contenedores Docker
Muchas veces nos referimos a Docker como si fuese el unico gestor de contenedores cuando en realidad queremos hablar de contenedores. Y es que en el contexto de la virtulización ligera y los contenedores encontramos a Podman.
Este gestor de contenedores promueve ser mas ligero y seguro que Docker y homologa altamente sus comandos, de hecho, podríamos reemplazar el comando docker por podman y obtendríamos resultados semejantes. No solo se logra lo mismo que se hace con Docker sino más, por ejemplo se puede lanzar un contenedor de una aplicación sin necesidad del usuario root, además puede gestionar Pods acercándose a una propuesta sencilla de tecnologías como Kubernetes.
Podman funciona en diferentes sistemas operativos, incluso Windows, y tiene su versión de escritorio.
Instalación de Podman
En sistemas como Windows puedes descargar el instalador de la versión de escritorio. Para Linux Ubuntu usamos los siguientes comandos:
bash
sudo apt update
sudo apt install -y podman
podman -vEl último comando nos permite veríficar la versión instalada
En Linux Ubuntu/Debian, existe un intento para simular Docker con Podman usando el paquete podman-docker, para lo cual se ejecutan las siguientes sentencias:
bash
sudo apt install -y podman-docker
systemctl --user enable podman.socket
systemctl --user start podman.socket
systemctl --user status podman.socketSin embargo, puede ser preferible obtener la versión más reciente, para lo cual se usarían las siguientes sentencias:
bash
sudo add-apt-repository -y ppa:projectatomic/ppa
sudo apt update
sudo apt install -y podmanTambién se podría remover el repositorio así:
sudo add-apt-repository --remove ppa:projectatomic/ppa
Reemplazando Docker por Podman
Podríamos modificar nuestro archivo .bashrc para incluir la siguiente línea que corresponde a un alias de Podman así:
bash
export DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock
alias docker=podmanPara macOS, en la primera línea se usaría:
export DOCKER_HOST=unix:///Users/$(whoami)/.local/share/containers/podman/machine/podman.sock
Después de guardar los cambios en el archivo podemos ejecutar lo siguiente para comprobar nuestro alias:
bash
source .bashrc
docker -vDe este modo hemos reemplazado y homologado el comando
docker, y hasta podemos usar sus mismas funciones.
Sin embargo, el archivo de contenedor deberá llamarseContainerfile(en lugar deDockerfile), al hacerpullse debe anteponer al repodocker.io/y quizás debamos ajustar algo mínimo en el camino.
Dependiendo de la necesidad, podría configurarse un socket de Podman para homologar algún servicio que use docker (como Portainer), por ejemplo, ejecutando la siguiente sentencia:
bash
systemctl --user enable --now podman.socketPodman desde el navegador con Cockpit
bash
sudo dnf install cockpit cockpit-podman
sudo systemctl enable --now cockpit.socket podman.servicePuedes acceder a la intefaz web consultando en un navegador la dirección:
https://localhost:9090