Cómo desplegar y gestionar contenedores con Podman sin usar sudo

Con Docker containers, puedes simplemente agregar tu usuario al grupo de docker para poder desplegar y gestionar contenedores sin tener que usar sudo. Durante años, esto se ha considerado el enfoque más seguro para utilizar Docker.

Parte de la razón de esto son los espacios de nombres del kernel y los IDs únicos y de grupo. En circunstancias normales, un usuario tiene acceso a alrededor de mil UIDs que se asignan a varios procesos dentro de un espacio de nombres.

Sin embargo, Podman utiliza un sistema operativo subordinado que se asigna al usuario que despliega el contenedor. Debido a esto, tu usuario necesita considerablemente más UIDs y SUBUIDs que los predeterminados.

Entonces, no solo tenemos que aumentar el número de SUBUIDs y SUBGIDs, sino que también tenemos que permitir esos UIDs y GIDs dentro del espacio de nombres del usuario e instalar un software que proporcione el modo de red para espacios de nombres de red no privilegiados.

Suena complicado, pero no lo es. Y a diferencia de Docker, donde simplemente puedes agregar tu usuario a un grupo y listo, con Podman debes seguir estos pasos para desplegar/gestionar contenedores sin el uso de sudo.

Déjame mostrarte cómo hacerlo.

¡Aprende a desarrollar juegos con Unity y obtén Xbox Game Pass Ultimate por un mes!
Índice de Contenido
  1. Cómo otorgarle a un usuario más SUBUIDs/SUBGIDs
  2. Cómo otorgar acceso a más espacios de nombres del usuario
  3. Cómo instalar slirp4netns

Cómo otorgarle a un usuario más SUBUIDs/SUBGIDs

Inicia sesión en tu máquina utilizada para contenedores Podman. Lo primero que haremos es habilitar más SUBUIDs y SUBGIDs para el usuario. Para hacer esto, vamos a elegir un rango de IDs que estén más allá de lo normal (entre 200000 y 265536). Para hacerlo, utiliza el siguiente comando:

sudo usermod --add-subuids 200000-265536 --add-subgids 200000-265536 $USER

Si lo prefieres, puedes reemplazar $USER con tu nombre de usuario real.

Cómo otorgar acceso a más espacios de nombres del usuario

A continuación, necesitamos asegurarnos de que el usuario tenga suficientes espacios de nombres. Puedes verificar esto con el siguiente comando:

sysctl --all --pattern user_namespaces

Si ese número es 1,000, necesitarás aumentarlo. Para hacerlo, crea un nuevo archivo con el siguiente comando:

Cómo instalar y usar EasySSH para gestionar múltiples conexiones SSH en Linux

sudo nano /etc/sysctl.d/userns.conf

En ese archivo, agrega lo siguiente:

user.max_user_namespaces=28633

Carga la nueva configuración con:

sudo sysctl -p /etc/sysctl.d/userns.conf

Ahora, cuando ejecutes el comando sysctl --all --pattern user_namespaces, el nuevo valor debería reflejarse.

Cómo clonar un repositorio de GitHub: Guía paso a paso para principiantes

Cómo instalar slirp4netns

Ahora, tenemos que instalar un software que proporcione el modo de red para espacios de nombres de red no privilegiados. Para instalar este software en una máquina basada en RHEL, utiliza el siguiente comando:

sudo dnf install slirp4netns -y

Si estás en un sistema basado en Ubuntu o Debian, utiliza el siguiente comando:

sudo apt-get -y install slirp4netns -y

Finalmente, reinicia tu sistema. Tus usuarios deberían poder ahora desplegar contenedores Podman sin tener que usar sudo.

Cómo crear una imagen personalizada con Podman en Linux

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo desplegar y gestionar contenedores con Podman sin usar sudo , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.