En este tema exploraremos el rico ecosistema de herramientas y plugins de terceros que rodea a Docker. Docker no vive aislado: a su alrededor ha crecido una enorme comunidad que ha creado registros alternativos, interfaces gráficas, escáneres de seguridad, constructores de imágenes alternativos y hasta motores de ejecución distintos. Conocer estas herramientas te permitirá elegir las más adecuadas para cada situación, mejorar tu flujo de trabajo y, en muchos casos, reforzar la seguridad de tus despliegues.

Objetivos de Aprendizaje

  • Conocer registros alternativos como Harbor y el registry de Docker.
  • Descubrir herramientas de interfaz como Portainer y Lazydocker.
  • Aprender sobre herramientas de seguridad como Trivy y Docker Scout.
  • Entender constructores alternativos como Buildah y Kaniko.
  • Conocer runtimes alternativos como containerd y Podman.

Registros Alternativos

Un registro (registry) es un almacén donde se guardan y distribuyen imágenes de contenedor. El más conocido es Docker Hub, pero existen alternativas que puedes alojar tú mismo, lo que se conoce como un registro privado o autoalojado.

Docker Registry

Docker ofrece una imagen oficial llamada registry que te permite montar tu propio registro en segundos:

docker run -d -p 5000:5000 --name mi-registro registry:2

Desglose:

  • -d: ejecuta el contenedor en segundo plano.
  • -p 5000:5000: expone el puerto 5000, que es el estándar para este registro.
  • --name mi-registro: asigna un nombre legible al contenedor.
  • registry:2: usa la versión 2 de la imagen oficial del registro.

Con esto tendrías un registro local donde subir y descargar imágenes. Por ejemplo, para subir una imagen:

docker tag mi-app:latest localhost:5000/mi-app:latest
docker push localhost:5000/mi-app:latest

Aquí primero etiquetamos (docker tag) la imagen apuntando a nuestro registro local y luego la subimos (docker push).

Harbor

Harbor es un registro de nivel empresarial mucho más completo. Además de almacenar imágenes, añade funcionalidades como:

  • Control de acceso por roles: distintos permisos para distintos usuarios.
  • Análisis de vulnerabilidades integrado.
  • Firma de imágenes para garantizar su autenticidad.
  • Replicación entre varios registros.

Harbor es una buena opción cuando una organización necesita un registro privado, seguro y con gobernanza, en lugar de depender de un registro público.

Herramientas de Interfaz (UI)

Aunque Docker se maneja muy bien por línea de comandos, a veces resulta cómodo tener una interfaz visual para ver de un vistazo qué está pasando.

Portainer

Portainer es una interfaz web para gestionar entornos Docker (y también Kubernetes). Se ejecuta como un contenedor más:

docker run -d -p 9000:9000 \
  --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer-ce:latest

Desglose:

  • -p 9000:9000: expone la interfaz web en el puerto 9000.
  • -v /var/run/docker.sock:/var/run/docker.sock: monta el socket de Docker para que Portainer pueda comunicarse con el motor y gestionarlo.
  • portainer/portainer-ce:latest: usa la edición comunitaria (Community Edition), gratuita.

Tras ejecutarlo, accederías a http://localhost:9000 para gestionar contenedores, imágenes, redes y volúmenes desde el navegador.

Lazydocker

Lazydocker es una interfaz de terminal (TUI) muy ligera que muestra el estado de tus contenedores, sus logs y su consumo de recursos en una sola pantalla. Es ideal para quienes prefieren no salir de la terminal pero quieren más comodidad que los comandos sueltos. Se lanza simplemente ejecutando:

lazydocker

Y navegas por sus paneles con el teclado, sin necesidad de recordar comandos.

Herramientas de Seguridad

La seguridad de las imágenes es fundamental: una imagen puede contener software con vulnerabilidades conocidas. Por eso existen escáneres que las analizan.

Trivy

Trivy es un escáner de seguridad muy popular, sencillo de usar y de código abierto. Analiza una imagen en busca de vulnerabilidades conocidas:

trivy image mi-app:latest

Este comando examina la imagen mi-app:latest y muestra un informe con las vulnerabilidades encontradas, clasificadas por gravedad (baja, media, alta, crítica). Es una excelente práctica integrarlo en el proceso de construcción para detectar problemas antes de desplegar.

Docker Scout

Docker Scout es la solución de análisis de seguridad propia de Docker, integrada en el ecosistema oficial. Permite analizar imágenes y obtener recomendaciones:

docker scout cves mi-app:latest

Este comando muestra las CVE (vulnerabilidades y exposiciones conocidas) presentes en la imagen. Docker Scout también ofrece sugerencias para corregirlas, por ejemplo recomendando una imagen base más actualizada.

Constructores de Imágenes Alternativos

Construir imágenes no siempre se hace con docker build. En algunos entornos, especialmente dentro de clústeres o pipelines automatizados, conviene construir imágenes sin necesitar un demonio Docker en ejecución.

Buildah

Buildah permite construir imágenes compatibles con el estándar OCI sin un demonio de Docker. Es muy flexible y se integra bien en entornos Linux. Un ejemplo de construcción a partir de un Dockerfile:

buildah bud -t mi-app:latest .

El subcomando bud significa build using Dockerfile (construir usando un Dockerfile), y -t asigna la etiqueta a la imagen resultante.

Kaniko

Kaniko está pensado para construir imágenes dentro de un clúster de Kubernetes o en pipelines de CI/CD, donde no es seguro ni práctico tener acceso al demonio de Docker. Construye la imagen en un contenedor aislado y la sube directamente a un registro. Es muy habitual en flujos de integración continua.

Runtimes Alternativos

El runtime es el componente que realmente ejecuta los contenedores. Docker usa uno por debajo, pero existen alternativas.

containerd

containerd es un runtime de contenedores que, de hecho, Docker utiliza internamente. Es un proyecto independiente, ligero y estándar en la industria. Muchas plataformas, incluido Kubernetes, lo usan directamente sin necesidad de todo el resto de Docker. Lo veremos con más detalle en la próxima lección.

Podman

Podman es una alternativa a Docker muy interesante por dos motivos:

  • No necesita un demonio en segundo plano (es daemonless).
  • Puede ejecutar contenedores sin privilegios de root (rootless), lo que mejora la seguridad.

Lo más práctico es que su interfaz de comandos es casi idéntica a la de Docker. Por ejemplo:

podman run -d -p 80:80 nginx

Como ves, el comando es prácticamente igual al de Docker. Esto facilita mucho la migración para quienes ya conocen Docker.

Tabla Resumen por Categoría

Categoría Herramientas Para qué sirve
Registros alternativos Docker Registry, Harbor Almacenar y distribuir imágenes de forma privada.
Interfaces (UI) Portainer, Lazydocker Gestionar Docker de forma visual.
Seguridad Trivy, Docker Scout Detectar vulnerabilidades en las imágenes.
Construcción Buildah, Kaniko Construir imágenes sin demonio Docker.
Runtimes containerd, Podman Ejecutar contenedores con distintos enfoques.

Errores Comunes y Consejos

  • Confiar ciegamente en cualquier imagen pública: descarga imágenes de fuentes fiables y escanéalas con Trivy o Docker Scout antes de usarlas.
  • Montar el socket de Docker sin pensar: herramientas como Portainer necesitan acceder a /var/run/docker.sock, pero ese acceso es muy potente. Concédelo solo a herramientas de confianza.
  • Pensar que solo existe Docker: el ecosistema es amplio. Podman o Buildah pueden encajar mejor en ciertos entornos, especialmente cuando la seguridad sin root es prioritaria.
  • No escanear las imágenes en producción: integra el análisis de seguridad en tu pipeline para detectar vulnerabilidades de forma automática y temprana.
  • Consejo: empieza por una o dos herramientas que resuelvan un problema real que tengas. No intentes adoptarlas todas a la vez.

Ejercicios

Ejercicio 1

Clasifica cada una de estas herramientas en su categoría correcta (registro, interfaz, seguridad, construcción o runtime):

  1. Trivy
  2. Portainer
  3. Harbor
  4. Kaniko
  5. Podman

Ejercicio 2

Explica qué hace el siguiente comando y por qué es necesario el parámetro del volumen:

docker run -d -p 9000:9000 --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer-ce:latest

Ejercicio 3

Una empresa quiere construir imágenes de contenedor dentro de su clúster de Kubernetes, donde no es seguro tener acceso al demonio de Docker. ¿Qué herramienta de las vistas recomendarías y por qué?

Soluciones

Solución al Ejercicio 1

  1. Trivy -> Seguridad.
  2. Portainer -> Interfaz (UI).
  3. Harbor -> Registro alternativo.
  4. Kaniko -> Construcción.
  5. Podman -> Runtime (alternativa a Docker).

Solución al Ejercicio 2

El comando ejecuta Portainer en segundo plano, exponiendo su interfaz web en el puerto 9000. El parámetro -v /var/run/docker.sock:/var/run/docker.sock monta el socket del demonio de Docker dentro del contenedor; es necesario porque Portainer debe comunicarse con el motor de Docker del host para poder gestionar contenedores, imágenes, redes y volúmenes.

Solución al Ejercicio 3

Recomendaría Kaniko, porque está diseñado específicamente para construir imágenes dentro de clústeres de Kubernetes y pipelines de CI/CD sin necesidad de acceder al demonio de Docker, lo que lo hace más seguro en ese tipo de entornos.

Conclusión

En esta lección hemos recorrido el amplio ecosistema de herramientas y plugins de terceros que complementan a Docker: registros alternativos como Harbor, interfaces como Portainer y Lazydocker, escáneres de seguridad como Trivy y Docker Scout, constructores como Buildah y Kaniko, y runtimes alternativos como containerd y Podman. Conocer estas opciones te da la libertad de elegir la herramienta adecuada para cada necesidad y de reforzar la seguridad de tus despliegues. En la última lección del curso miraremos hacia adelante para descubrir el Futuro de Docker y las tendencias que están dando forma al mundo de los contenedores.

© Copyright 2026. Todos los derechos reservados