Instalar Podman en Centos 8
Te explico en esta entrada como instalar la herramienta podman en un sistema GNU/Linux con Centos 8. Si no sabes muy bien de qué trata podman, te comenté de que trataba en esta entrada: «Podman: El sustituto de Docker en RHEL 8 y Centos 8«
Podman es una excelente alternativa a la tecnología de contenedores de Docker, sobre todo si buscamos tener más seguridad, ya que utiliza indicadores únicos (UID) mediante espacios de nombres y se integra perfectamente con systemd.
En esta entrada te enseño como realizar una instalación básica sobre Centos 8, en este caso, sobre un VPS en mi proveedor de confianza clouding.io
Crear un usuario operador
Antes de continuar volvemos a lo que siempre te recomiendo, esto es, crear un usuario diferente de root para el nuevo VPS. Son unos pasos muy sencillos y que te pueden evitar muchos problemas.
Simplemente has de escribir:
useradd -m -c "Usuario Operador" \ -s "/bin/bash" \ -d "/home/operador" \ -G wheel operador password operador
Una vez hecho esto deshabilitas el acceso al usuario root vía ssh:
sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' \ /etc/ssh/sshd_config
Y reinicias el servicio:
systemctl restart sshd.service
También es recomendable realizar intercambio de llaves con este usuario desde equipo local. Si no sabes como aquí te explico: SSH sin contraseña en Linux
Si te decides por el intercambio de llaves ya no te hará falta el acceso con contraseña, que de hecho es recomendable deshabilitar este tipo de acceso, así:
sed -i 's/ PasswordAuthentication yes/ PasswordAuthentication no/g' \ /etc/ssh/sshd_config
A partir de aquí trabajas con el nuevo usuario.
su - operador
Si al acceder te muestra errores relacionados con «/dev/null», has de lanzar la siguiente orden desde el usuario root:
chmod 666 /dev/null
Instalación de Podman en Centos 8
En un sistema como Centos 8, al igual que su primera hermana Red Hat Enterprise Linux 8, solo has de escribir una simple línea, para instalar podman:
sudo dnf install podman
Una vez instalado ya podemos empezar a trabajar con él.
Para saber la versión recién instalada:
podman version
Un ejemplo de la salida:
Y para obtener ayuda:
podman --help
Como te expliqué lo ideal es tener instaladas también las herramientas buildah y skopeo. Con buildah podemos generar nuevos contenedores y con skopeo trabajar con ellos.
Trabajando con podman en Centos 8
La mejor manera de decir es hacer. Veamos el despliegue de un primer contenedor:
podman run -it --rm alpine sh
De esta manera desplegamos el contenedor de la imagen «alpine» que es bastante ligera. Con run
hemos indicado que queremos hacer funcionar el contenedor, y con —rm
indicamos que al salir de este lo elimine.
Además, accedemos a ella mediante sh
, de esta manera comprobamos la versión:
/ # cat /etc/os-release NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.1 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/" / # exit
Una imagen vale más que mil palabras:
Su funcionamiento es muy similar a Docker como se puede observar, ya que los parámetros y su forma de trabajar son prácticamente idénticos. Si lo deseamos podemos crear un alias:
alias docker=podman
Cómo hemos dicho las ordenes como pull
, push
, build
, commit
o tag
funcionan igual.
Una de las ventajas de Podman, que ya hemos comentado antes, es que al permitir unirse a un espacio de nombres de usuario y configurar el acceso de root en el interior, hace que Podman monte ciertos sistemas de archivos y configure el contenedor sin escalar los privilegios.