Cómo instalar y desplegar contenedores con containerd y nerdctl

Containerd es otro motor de tiempo de ejecución de contenedores que puedes instalar libremente en la mayoría de las distribuciones de Linux y se considera más eficiente y seguro que Docker. Containerd puede:

Cómo instalar y desplegar contenedores con containerd y nerdctl - Desarrollo | Imagen 1 Newsmatic

Índice de Contenido
  1. Limitar la asignación de memoria y CPU compartida a contenedores mediante cgroups
  2. Prevenir el acceso a procesos del host desde un contenedor
  3. Extraer una imagen de contenedor en una porción aislada del sistema host
  4. Crear espacios de nombres UID que se mapeen a un UID diferente en el host
  5. Configurar las variables de entorno dentro de un contenedor
  6. Qué necesitas para desplegar un contenedor con containerd y nerdctl
  7. Cómo instalar las dependencias necesarias
  8. Cómo instalar Nerdctl
  9. Cómo configurar el sistema para ser rootless
  10. Cómo desplegar un contenedor con nerdctl

Limitar la asignación de memoria y CPU compartida a contenedores mediante cgroups

Con containerd puedes limitar la cantidad de memoria y CPU asignada a cada contenedor utilizando cgroups.

Prevenir el acceso a procesos del host desde un contenedor

Containerd evita que los procesos dentro de un contenedor puedan acceder a los procesos del sistema operativo host.

Extraer una imagen de contenedor en una porción aislada del sistema host

Puedes extraer una imagen de contenedor utilizando containerd en una parte aislada del sistema host, garantizando así la separación entre los recursos del contenedor y el host.

Crear espacios de nombres UID que se mapeen a un UID diferente en el host

Con containerd puedes crear espacios de nombres UID que se mapean a UIDs diferentes en el sistema operativo host, mejorando la seguridad y el aislamiento de los contenedores.

Detectando errores y problemas en tu proyecto con SonarQube

Configurar las variables de entorno dentro de un contenedor

Containerd te permite configurar las variables de entorno para personalizar el entorno en el que se ejecuta un contenedor.

Por sí solo, containerd no es muy útil. Para hacerlo realmente útil como medio para implementar contenedores, debes agregar otra pieza al rompecabezas: nerdctl. Permíteme mostrarte cómo agregar nerdctl a un sistema con containerd habilitado y luego desplegar un contenedor con esta combinación.

Qué necesitas para desplegar un contenedor con containerd y nerdctl

Lo único que necesitas para que esto funcione es un sistema con containerd instalado – consulta mi artículo sobre cómo instalar containerd aquí – y un usuario con privilegios sudo.

Cómo instalar las dependencias necesarias

Primero, necesitamos instalar algunas dependencias. Primero, instala uidmap con el siguiente comando:

sudo apt-get install uidmap -y

A continuación, instala RootlessKit con el siguiente comando:

Cómo configurar una dirección IP estática en Rocky Linux 9

sudo apt-get install rootlesskit -y

Cómo instalar Nerdctl

A continuación, necesitamos instalar nerdctl. Primero, descarga nerdctl con el siguiente comando:

wget https://github.com/containerd/nerdctl/releases/download/v0.22.2/nerdctl-0.22.2-linux-amd64.tar.gz

Descomprime el archivo con el siguiente comando:

sudo tar Cxzvf /usr/local/bin nerdctl-0.22.2-linux-amd64.tar.gz

Prueba la instalación de nerdctl con el siguiente comando:

Aprende SQL y mejora tu productividad en los negocios con este paquete de certificación.

which nerdctl

Debería mostrar la ruta:

/usr/local/bin/nerdctl

Cómo configurar el sistema para ser rootless

Primero, crea un nuevo archivo systemd con el siguiente comando:

sudo nano /etc/sysctl.d/99-rootless.conf

En ese archivo, pega el siguiente contenido:

Cómo cambiar la ubicación de almacenamiento de GNOME Boxes en Linux

kernel.unprivileged_userns_clone=1

Finalmente, configura containerd para ser rootless con el siguiente comando:

containerd-rootless-setuptool.sh install

Ahora deberías poder desplegar tu primer contenedor con containerd y nerdctl.

Cómo desplegar un contenedor con nerdctl

Desplegar un contenedor con nerdctl es muy similar a hacerlo con Docker. Por ejemplo, desplegar el contenedor de NGINX con Docker podría verse así:

docker run --name docker-nginx -p 8080:80 -d nginx:alpine

Cómo hacer una instalación de actualización en Pop!_OS sin perder tus datos y configuraciones

Para desplegar un contenedor de NGINX con nerdctl, el comando sería:

sudo nerdctl run --name nerdctl-nginx -p 8080:80 -d nginx:alpine

La mayor diferencia es que, por defecto, debes desplegar contenedores con nerdctl utilizando sudo. Podemos evitar eso ejecutando los siguientes dos comandos:

sudo sh -c "echo 1 > /proc/sys/kernel/unprivileged_userns_clone"

sudo sysctl --system

Después de ejecutar los comandos anteriores, puedes desplegar el contenedor con:

nerdctl run --name nerdctl-nginx -p 8080:80 -d nginx:alpine

Super Container OS: Una nueva opción para simplificar el despliegue de contenedores

Y eso es todo, otro método más para desplegar contenedores gracias a la combinación de containerd y nerdctl. ¡Feliz despliegue!

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 instalar y desplegar contenedores con containerd y nerdctl , 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.