Solución de la comunidad

Descubre qué puertos utilizan las aplicaciones de ZimaOS: Dockpeek, asignación de puertos de Docker y la trampa del socket

A January 2026 thread asking for a GUI list of ports used by ZimaOS applications. Community users suggested Docker inspection and Dockpeek; one tester broke Dockpeek by replacing its required /var/run/docker.sock volume, then confirmed reinstalling it with the original socket mapping restored container visibility.

ZimaOS no mostró un panel específico de «todos los puertos de las aplicaciones» en este hilo de enero de 2026, por lo que los usuarios recurrieron a la inspección a nivel de Docker y a una herramienta comunitaria de la App Store llamada Dockpeek. Dockpeek puede ofrecer exactamente la vista general que quería el autor original: nombre del contenedor, imagen, puertos publicados, estado y metadatos relacionados en una sola tabla.

El hilo también documentó un fallo importante específico de Docker. Un usuario siguió su costumbre habitual de cambiar las rutas de volumen de aplicaciones de terceros a /DATA/AppData/... y reemplazó accidentalmente el montaje especial del socket de Docker de Dockpeek. La aplicación se abrió, pero no mostró ningún contenedor. Reinstalarla sin cambiar el volumen del socket restauró la lista.

El inventario de puertos tiene dos significados diferentes

En el caso de las aplicaciones Docker, conviene distinguir entre:

  • puerto del contenedor: el puerto en el que escucha la aplicación dentro de Docker;
  • puerto del host: el puerto que ZimaOS expone en su propia interfaz de red.

Una asignación como host 3420 → contenedor 8000 significa que los usuarios se conectan al host de ZimaOS mediante el puerto 3420, aunque la aplicación escuche en el puerto 8000 dentro de su contenedor.

Dockpeek ofrece una vista gráfica de los puertos de los contenedores

Panel de Dockpeek que muestra los contenedores Docker de ZimaOS, las imágenes, los puertos publicados y el estado de salud
Dockpeek ofreció a la comunidad la vista general solicitada para comprobar de un vistazo qué aplicaciones Docker utilizaban cada puerto del host.

La captura de pantalla original muestra contenedores con puertos publicados como 9100, 8888, 8443, 8090, 8081 y 7580, junto con los nombres e imágenes de las aplicaciones correspondientes.

Una pantalla vacía de Dockpeek no significa que Docker no tenga contenedores

Panel de Dockpeek sin contenedores después de cambiar su asignación del socket de Docker
Al principio, un usuario vio una lista de Dockpeek vacía, aunque el servidor ZimaOS tenía muchas aplicaciones en ejecución.

El problema no estaba en la detección de Docker. Dockpeek necesita acceso al socket Unix de Docker para poder consultar el demonio.

Mantén /var/run/docker.sock asignado a la misma ruta dentro del contenedor

Configuración de Dockpeek en ZimaOS que muestra /var/run/docker.sock asignado a la misma ruta dentro del contenedor y DOCKER_HOST utilizando el socket Unix
Dockpeek depende del socket de Docker del host y del valor coincidente de DOCKER_HOST para enumerar los contenedores.

Este volumen no contiene datos de la aplicación. Sustituirlo por una carpeta normal de AppData elimina la conexión de Dockpeek con el demonio de Docker.

No todos los volúmenes deben migrarse a AppData

El usuario explicó que los paquetes de terceros de la App Store le habían acostumbrado a revisar detenidamente las rutas de los volúmenes y trasladar los datos persistentes a ubicaciones estándar de AppData. Esto suele ser adecuado para las bases de datos y la configuración de las aplicaciones, pero los montajes especiales, como los sockets de Docker, los dispositivos, los certificados o los archivos del sistema del host, tienen una finalidad diferente.

La documentación actual de ZimaOS explica cómo se asignan los datos normales de las aplicaciones al almacenamiento del host. Usa ese modelo para los datos persistentes, pero no reescribas un montaje especial a menos que entiendas por qué lo necesita el contenedor.

Un puerto que ya está en uso debe rastrearse hasta su propietario actual

El autor original quería específicamente liberar los puertos 80 y 443 después de una instalación anterior de Nginx. Una respuesta de la comunidad planteó que ZimaOS utilizaba al menos el puerto 80. El hilo no contenía una confirmación de IceWhale de que ambos puertos estuvieran reservados permanentemente en todas las versiones.

Antes de eliminar una aplicación o cambiar el puerto de un panel, identifica el proceso que escucha realmente o la asignación de Docker en el sistema actual.

La CLI de Docker también puede generar un inventario de puertos

Un miembro de la comunidad compartió comandos de Docker que enumeran los nombres de los contenedores, las imágenes y las asignaciones de puertos, y que pueden exportar los resultados a un archivo de texto. Como esos comandos fueron creados por la comunidad y no son instrucciones de IceWhale, esta página conserva la idea, pero no presenta la secuencia exacta de comandos de shell como un procedimiento oficial de ZimaOS.

Para quienes prefieren el terminal, la inspección de contenedores de Docker proporciona los datos subyacentes que Dockpeek representa visualmente.

El acceso al socket de Docker es una capacidad privilegiada

Un contenedor que pueda acceder a /var/run/docker.sock puede inspeccionar y posiblemente controlar el demonio de Docker, según lo que haga la aplicación. Trata Dockpeek y herramientas de gestión similares como infraestructura privilegiada, no como aplicaciones web normales.

No expongas públicamente la interfaz web de Dockpeek sin autenticación y una capa adecuada de control de acceso.

Preguntas frecuentes sobre la vista de puertos de ZimaOS

¿Puede Dockpeek mostrar qué aplicación de ZimaOS es propietaria de un puerto Docker publicado?

Sí. La captura de pantalla original muestra juntos los nombres de los contenedores, las imágenes, las asignaciones de puertos y el estado.

¿Por qué Dockpeek no mostró ningún contenedor a un usuario?

Cambió el volumen necesario /var/run/docker.sock. Reinstalar la aplicación sin cambiar ese montaje especial restauró la lista.

¿Debe trasladarse el volumen de todas las aplicaciones de terceros a /DATA/AppData?

No. Los datos persistentes de las aplicaciones suelen pertenecer allí, pero los montajes especiales, como el socket de Docker, deben conservar el recurso del host previsto.