Consultas de información del sistema Docker
Para verificar la instalación y configuración de Docker, se pueden ejecutar los siguientes comandos:
## Obtener la versión del motor Docker
docker version
## Revisar la configuración y estadísticas del sistema
docker info
## Acceder a la ayuda general de Docker
docker --help
Gestión de imágenes
Listar las imágenes almacenadas localmente:
## Mostrar todas las imágenes, incluyendo capas intermedias
docker images -a
## Filtrar solo identificadores de imagen
docker images -q
## Visualizar metadatos extendidos de imágenes
docker images --digests
## Examinar el historial de cambios de una imagen específica
docker history --no-trunc apache
Búsqueda de imágenes en registros
Buscar imágenes disponibles en repositorios remotos:
## Buscar imágenes de PostgreSQL en Docker Hub
docker search postgresql
## Filtrar resultados por popularidad (al menos 800 estrellas)
docker search --filter=stars=800 postgresql
## Ver descripciones completas en los resultados de búsqueda
docker search --no-trunc postgresql
Descarga y transferencia de imágenes
Descargar imágenes desde repositorios:
## Descargar la versión latest de NGINX
docker pull nginx
## Descargar todas las versiones disponibles de MongoDB
docker pull -a mongo
## Guardar una imagen en un archivo de respaldo
docker save -o postgres.tar postgresql:13
## Cargar una imagen desde un archivo
docker load -i postgres.tar
Eliminación de imágenes
Administrar el almacenamiento de imágenes:
## Eliminar una imagen específica
docker rmi apache
## Forzar eliminación de imagen con contenedores activos
docker rmi -f nginx
## Eliminar todas las imágenes no utilizadas
docker rmi -f $(docker images -q)
Construcción personalizada con Dockerfile
Crear imágenes a partir de instruccciones definidas:
## Generar una imagen desde un Dockerfile personalizado
docker build -f ./miscript/Dockerfile -t miapp:1.2 .
Configuración de redes
Administrar redes de comunicación entre contenedores:
## Crear una red puente personalizada
docker network create red_personal
## Inspeccionar configuración de una red
docker network inspect red_personal
## Listar todas las redes disponibles
docker network ls
## Eliminar una red específica
docker network rm red_personal
## Asignar red estática a un contenedor
docker network create --subnet=10.0.30.0/24 red_estatica
## Conectar un contenedor a una red específica
docker network connect red_estatica contenedor_web
Administración de volúmenes
Gestionar almacenamiento persistente:
## Crear un volumen con nombre
docker volume create datos_aplicacion
## Verificar detalles de un volumen
docker volume inspect datos_aplicacion
## Listar todos los volúmenes
docker volume ls
## Eliminar volúmenes no utilizados
docker volume prune
Operaciones con contenedores
Comandos para el ciclo de vida de contenedores:
## Ejecutar un contenedor con mapeo de puertos
docker run -d -p 8080:80 --name servidor_web nginx
## Iniciar contenedores existentes
docker start contenedor_db
## Listar contenedores en ejecución
docker ps
## Ver todos los contenedores con detalles
docker ps -a --no-trunc
## Obtener información detallada de un contenedor
docker inspect --format='{{.NetworkSettings.IPAddress}}' servidor_web
## Consultar el PID de un contenedor
docker inspect --format '{{.State.Pid}}' contenedor_app
Interacción con contenedores
Acceder y ejecutar comandos dentro de contenedores:
## Entrar a un contenedor con terminal interactiva
docker exec -it servidor_web /bin/bash
## Ejecutar comandos como usuario root
docker exec -it --user root contenedor_db bash
## Copiar archivos entre host y contenedor
docker cp ./config.yml servidor_web:/app/config.yml
Configuraciones avanzadas
Opciones para recursos y comportamiento:
## Asignar límites de memoria a un contenedor
docker update --memory 512m --memory-swap 1g contenedor_app
## Configurar reinicio automático
docker update --restart=unless-stopped servidor_web
## Verificar procesos activos en un contenedor
docker top servidor_web
## Revisar registros de actividad
docker logs --tail=100 --timestamps servidor_web
## Limitar tamaño de archivos de registro
docker run --log-opt max-size=10m --log-opt max-file=5 -d postgresql
Operaciones en lote
Comandos para gestión masiva:
## Detener todos los contenedores activos
docker stop $(docker ps -q)
## Eliminar contenedores detenidos
docker rm $(docker ps -a -q)
## Limpieza completa del sistema
docker system prune --volumes