Docker pushrm: simplificando la documentación de contenedores
4 min de lectura

Docker pushrm: simplificando la documentación de contenedores

706 palabras

Hace unos días, trabajando con Claude Code, me topé con una herramienta que lleva bastante tiempo en el ecosistema Docker pero que no conocía: docker pushrm. Y la verdad es que me ha sorprendido lo útil que resulta para algo tan simple como mantener sincronizada la documentación de tus repositorios de contenedores.

El problema que resuelve

Cualquiera que haya trabajado con Docker Hub, Quay o Harbor conoce el típico flujo: actualizas el README de tu proyecto en GitHub, construyes y pusheas tu imagen, pero… el README del registro de contenedores sigue desactualizado. Tienes que ir manualmente al navegador, copiar y pegar el contenido, y hacer el update manualmente.

Para alguien que maneja varios proyectos y repositorios, esto se convierte rápidamente en una tarea tediosa y fácil de olvidar.

Qué es docker pushrm

docker pushrm es un plugin para el CLI de Docker que añade un comando muy simple: docker pushrm. Lo que hace es leer el archivo README.md del directorio actual y subirlo automáticamente al registro de contenedores como descripción del repositorio.

La herramienta es obra de Christian Korneck y está disponible como plugin oficial de Docker. Soporta los principales registros:

  • Docker Hub (cloud)
  • Red Hat Quay (cloud y self-hosted/OpenShift)
  • Harbor v2 (self-hosted)

Instalación en macOS

La instalación es bastante directa. En mi caso, en macOS, simplemente descargué el binario y lo coloqué en el directorio de plugins de Docker:

# Descargar el binario para macOS
curl -LO https://github.com/christian-korneck/docker-pushrm/releases/latest/download/docker-pushrm-darwin-amd64

# Mover al directorio de plugins de Docker
mv docker-pushrm-darwin-amd64 $HOME/.docker/cli-plugins/docker-pushrm

# Hacer ejecutable
chmod +x $HOME/.docker/cli-plugins/docker-pushrm

Para otros sistemas operativos:

En Linux:

curl -LO https://github.com/christian-korneck/docker-pushrm/releases/latest/download/docker-pushrm-linux-amd64
mv docker-pushrm-linux-amd64 $HOME/.docker/cli-plugins/docker-pushrm
chmod +x $HOME/.docker/cli-plugins/docker-pushrm

En Windows: Colocar el ejecutable en: c:\Users\<your-username>\.docker\cli-plugins\docker-pushrm.exe

Una vez instalado, puedes verificar que funciona con:

docker pushrm --help

Uso básico

El uso más simple es extremadamente directo:

# En el directorio de tu proyecto con README.md
$ ls
Dockerfile README.md

# Push de la imagen como siempre
$ docker build -t mi-usuario/mi-proyecto .
$ docker push mi-usuario/mi-proyecto

# Y ahora sincronizar el README
$ docker pushrm mi-usuario/mi-proyecto

Eso es todo. El comando leerá el README.md del directorio actual y lo subirá a Docker Hub como descripción del repositorio.

Opciones útiles

Para Docker Hub puedes también establecer una descripción corta:

docker pushrm -s "Una herramienta útil para automatizar tareas" mi-usuario/mi-proyecto

Si quieres usar un archivo README específico en lugar del del directorio actual:

docker pushrm --file docs/README-container.md mi-usuario/mi-proyecto

Para otros registros, simplemente especificas el provider:

# Para Quay
docker pushrm --provider quay quay.io/mi-usuario/mi-proyecto

# Para Harbor
docker pushrm --provider harbor2 registry.ejemplo.com/mi-proyecto/mi-app

Casos de uso prácticos

1. Integración en CI/CD: La herramienta brilla especialmente en pipelines de CI/CD. Puedes automatizar la sincronización como parte de tu proceso de release.

2. Documentación diferenciada: Si necesitas que la documentación del registro sea diferente a la del repositorio de código, puedes crear un archivo README-containers.md que tendrá precedencia automáticamente.

3. Múltiples registros: Si publicas en varios registros, puedes automatizar la sincronización de documentación para todos ellos.

Mi experiencia usando Claude Code

Lo que me llamó la atención es cómo Claude Code me sugirió usar esta herramienta cuando estaba trabajando en un proyecto que requería mantener sincronizadas las descripciones entre GitHub y Docker Hub.

La AI detectó el patrón de trabajo y me propuso esta solución, lo que me ahorró considerable tiempo de investigación y configuración manual.

Ventajas que he encontrado

  1. Simplicidad extrema: Un comando y listo
  2. Integración natural: Usa las credenciales de Docker que ya tienes configuradas
  3. Flexibilidad: Funciona con múltiples registros y opciones de configuración
  4. Automatizable: Perfecto para CI/CD

Limitaciones a tener en cuenta

  • Para Quay necesitas configurar una API key adicional
  • Harbor con autenticación OIDC puede dar problemas
  • Solo soporta markdown, no otros formatos

Conclusión

docker pushrm es una de esas herramientas que resuelven un problema específico de manera elegante. No es revolucionaria, pero hace que un proceso manual y repetitivo se vuelva automático y confiable.

Para cualquiera que mantenga proyectos con contenedores Docker, especialmente si publicas en múltiples registros o tienes pipelines automatizados, vale la pena tenerla en el toolkit.

La próxima vez que te encuentres copiando y pegando READMEs entre GitHub y Docker Hub, acuérdate de esta herramienta. Tu yo futuro te lo agradecerá.


Enlaces útiles:

Comentarios

Artículos relacionados

2 min

232 palabras

El día a día me ha impedido hacer muchas cosas, una de estas es tener actualizado el blog, pero no hay tiempo para todo, y al final el cansancio hace que tenga que reorganizar prioridades.

Estos últimos meses he estado trabajando en la implantación de RedHat Cloudforms, Ansible Tower, … por lo que ha sido mucho el Ansible que he tenido que tocar, ya era habitual, pero últimamente es mucho más.