Dockerman Docs
CLI

Contenedores

Ciclo de vida, logs, stats, terminal y comandos de backup/restore para contenedores Docker.

El grupo container cubre el ciclo de vida completo más los attach en streaming y backup/restore. Todos los comandos aceptan --host para apuntar a un host concreto; si no se indica, se usa el host persistente fijado con dockerman host use.

Listar e inspeccionar

dockerman container list
dockerman container list --pretty
dockerman container inspect web

list devuelve la misma estructura que la GUI: id, nombre, imagen, estado, mapeo de puertos, fecha de creación. Añade --pretty para obtener una tabla alineada por columnas.

Ciclo de vida

dockerman container start web
dockerman container stop web --timeout 10
dockerman container restart web --timeout 10
dockerman container pause web
dockerman container unpause web
dockerman container rename web web-old

stop y restart aceptan --timeout en segundos; el daemon envía SIGTERM y luego SIGKILL tras el timeout.

Crear y clonar

dockerman container create web nginx:latest --platform linux/amd64
dockerman container create web nginx:latest --config ./run.json
dockerman container commit web --repo myrepo --tag snapshot --pause

--config admite un fichero JSON con la misma forma que bollard::ContainerCreateOptions. commit toma una snapshot de un contenedor en ejecución como nueva imagen.

Eliminar

dockerman container remove web --force --volumes --yes

remove es destructivo. Necesita --yes (o el flag global -y); sin él, el daemon rechaza la llamada. Añade --force para eliminar un contenedor en marcha y --volumes para borrar los volúmenes anónimos.

Logs

dockerman container logs web --tail 50
dockerman container logs web --follow --tail 5
dockerman container logs web --since 2026-05-01T00:00:00Z --timestamps
dockerman container logs web --follow --json

Sin --json, stdout sólo contiene líneas de log; los errores van a stderr. Con --json, la CLI emite un envelope de streaming por frame. --follow corre hasta que pulses Ctrl+C (salida 130) o el stream termine de forma natural (salida 0).

--until es incompatible con --follow; la CLI rechaza esa combinación antes de abrir el stream. Usa --since/--until para descargas históricas y --follow/--since para seguimiento en vivo.

Stats

dockerman container stats web
dockerman container stats web --pretty

stats siempre se transmite en streaming. Cada frame es una línea NDJSON con contadores de CPU, memoria, red y E/S de bloque. Pulsa Ctrl+C para detener (salida 130).

Terminal

dockerman container terminal web
dockerman container terminal web --shell /bin/bash --user root

Asigna un PTY mediante docker exec y lo conecta a tu terminal. La CLI rechaza la ejecución cuando stdin/stdout no son una TTY; los scripts basados en pipes deben usar dockerman call exec_*.

Backup y restore

Backup empaqueta el sistema de ficheros del contenedor (y los bind mounts opcionales) en un único archivo. Restore crea un nuevo contenedor a partir de ese archivo.

Inspeccionar lo que se archivaría

dockerman container backup-targets web --pretty

Lista los volúmenes y bind mounts del contenedor, con un flag safe_to_archive por cada bind mount.

Crear el archivo

dockerman container backup web \
  --output ./web.tar.gz \
  --pause \
  --include-all-safe-bind-mounts

Usa --include-bind-mount <índice> para activar mounts uno a uno, --no-pause para saltarte el ciclo pause/unpause, --force para anular las advertencias safe_to_archive.

Previsualizar un archivo

dockerman container backup-preview ./web.tar.gz --pretty

Muestra el manifest sin restaurar nada.

Restaurar

dockerman container restore ./web.tar.gz \
  --name web-restored \
  --volume-strategy rename \
  --port 8080:80 \
  --yes

Restore es destructivo (crea un contenedor que puede chocar con nombres/volúmenes existentes), por lo que --yes es obligatorio. --volume-strategy admite rename, skip u overwrite.

Las rutas de backup se resuelven en la CLI a rutas locales absolutas antes de enviarlas al daemon. El daemon rechaza rutas relativas, symlinks que apunten fuera del workspace y rutas que el usuario no pueda leer.