Gestión de contenedores

Por: Artiko
portainerdockercontenedoreslogs

Gestión de contenedores

La sección Containers es donde más vas a vivir al principio. Replica todo lo que harías con la CLI de Docker, pero con formularios y vistas en tiempo real.

La lista de contenedores

Muestra todos los contenedores del entorno con su estado, imagen, puertos publicados y uso de recursos. Desde la barra de acciones podés Start / Stop / Restart / Kill / Pause / Remove uno o varios a la vez seleccionándolos con los checkboxes.

Crear un contenedor

Containers → + Add container abre un formulario que cubre las opciones de docker run:

  • Name e Image (con el registry de origen).
  • Port mapping: publicás puertos host→contenedor.
  • Advanced container settings, en pestañas:
    • Command & logging: comando/entrypoint, driver de logs.
    • Volumes: montás volúmenes con nombre o bind mounts.
    • Network: red a la que se conecta, hostname, DNS.
    • Env: variables de entorno.
    • Labels: etiquetas de metadatos.
    • Restart policy: no, always, on-failure, unless-stopped.
    • Runtime & resources: límites de CPU y memoria, capabilities.

Al confirmar Deploy the container, Portainer ejecuta el equivalente a tu docker run y el contenedor aparece en la lista.

Tip: para algo más que un par de contenedores sueltos, no uses este formulario. Definí un stack de Compose (capítulo 6): es versionable, reproducible y mucho más fácil de mantener.

Operar un contenedor

Al hacer clic en un contenedor entrás a su detalle, con acciones potentes:

Logs

Vista de logs en vivo con auto-refresh. Podés:

  • Activar/desactivar timestamps.
  • Filtrar por texto.
  • Ajustar cuántas líneas traer.
  • Copiar o descargar el log.

Equivale a docker logs -f, pero en el navegador.

Console (exec)

Abre una terminal interactiva dentro del contenedor, eligiendo el comando (/bin/sh, /bin/bash) y el usuario. Es el equivalente a docker exec -it <id> sh. Ideal para inspeccionar archivos o depurar sin SSH al host.

Stats

Gráficas en tiempo real de CPU, memoria, red y I/O de disco del contenedor. Útil para detectar un servicio que consume de más.

Inspect

Muestra el JSON completo de docker inspect: configuración, montajes, red, estado. Para cuando necesitás el detalle crudo.

Recreate

Acción muy usada: Recreate vuelve a crear el contenedor con la misma configuración. Con la opción Re-pull image activada, primero baja la última versión de la imagen y luego recrea — la forma rápida de actualizar un contenedor suelto a la imagen más reciente.

Duplicar / Edit

Duplicate/Edit abre el formulario de creación precargado con la configuración del contenedor actual. Cambiás lo que necesites (ej. una variable o un puerto) y desplegás: Portainer reemplaza el contenedor por la versión editada. Es la manera de “modificar” un contenedor, ya que en Docker los contenedores son inmutables.

Attach a un proceso y modo “exec” vs “attach”

  • Console crea un proceso nuevo dentro del contenedor (exec). Es lo que casi siempre querés.
  • Algunos contenedores conviene verlos con Attach al proceso principal, pero para depurar, exec con una shell es lo habitual.

Buenas prácticas

  • Definí restart policy explícita (unless-stopped para servicios) para que sobrevivan reinicios.
  • Poné límites de memoria/CPU a contenedores no confiables o pesados.
  • No guardes estado en el sistema de archivos del contenedor: usá volúmenes (capítulo 5).
  • Para cualquier app con más de un contenedor o que quieras versionar, salta a stacks.

AnteriorCapítulo 3: Interfaz y entornos · SiguienteCapítulo 5: Imágenes, volúmenes y redes