Lista de contenedores de todos los nodos del modo de enjambre Docker

11

Estamos ejecutando Docker en modo enjambre en algunos nodos.

No se pudo encontrar una forma rápida y fácil de enumerar todos los contenedores (preferiblemente con estado) en el enjambre desde los nodos del administrador. Se pueden ver redes superpuestas y contenedores que se ejecutan localmente conectados a estas redes, también servicios, pero no los detalles del contenedor, etc.

¿Es algo ya disponible o está utilizando la API REST la única opción disponible? (aunque no estoy seguro si toda la información requerida está disponible allí)

saabeilin
fuente

Respuestas:

20

Puede hacer docker node lspara ver todos los nodos en su enjambre, luego docker node ps <node>para ver los contenedores en ese nodo.

Como un trazador de líneas, puede hacer:

docker node ps $(docker node ls -q)

agxs
fuente
Parece ser la mejor solución hasta ahora. Sin node psembargo, es necesario descubrir cómo filtrar y formatear los resultados .
saabeilin
2
Esto realmente enumera los servicios en ejecución, no todos los contenedores.
Matthias B
66
Este comando me parece muy útil: docker node ps $(docker node ls -q) --filter desired-state=Running | uniqesto filtrará (estado deseado) y también eliminará la información no deseada (uniq).
colidyre