Docker es una plataforma de código abierto ampliamente utilizada que simplifica la creación, prueba, despliegue y gestión de aplicaciones mediante contenedores; su principal fortaleza es ofrecer un entorno consistente y portátil, ya sea que trabajes en tu equipo local, en un servidor virtual (VPS) o en la nube.
Aunque Docker se ha convertido en una herramienta clave dentro del ecosistema de desarrollo moderno, dominar sus comandos no siempre es inmediato. Para quienes están dando sus primeros pasos (e incluso para usuarios con experiencia), contar con una guía clara o una hoja de referencia puede marcar una gran diferencia en el día a día.
En esta guía te explicaremos, de forma práctica, cómo funciona Docker y repasaremos los comandos más comunes, con ejemplos que te ayudarán a entender cuándo y cómo utilizarlos.
Arquitectura Docker

La arquitectura de Docker está diseñada para ser simple en apariencia, pero muy poderosa en ejecución, se apoya en cinco componentes clave que trabajan de forma coordinada para permitir que las aplicaciones se construyan, ejecuten y escalen con eficiencia: servidor, cliente, contenedor, imagen y registro.
Servidor Docker (Docker Daemon)
El servidor Docker, también conocido como Docker daemon, es el corazón del sistema. Se trata de un proceso que se ejecuta en segundo plano en tu máquina y se encarga de gestionar contenedores, imágenes, redes y volúmenes.
Cada vez que utilizas la interfaz de línea de comandos (CLI) para crear, ejecutar o detener un contenedor, en realidad estás enviando instrucciones al daemon. Este componente es esencial porque garantiza que los contenedores puedan iniciarse, detenerse y mantenerse operativos incluso cuando el sistema arranca o se reinicia.
Cliente Docker
El cliente Docker es la interfaz con la que interactúan los usuarios. A través de la CLI, el cliente permite crear, administrar y ejecutar aplicaciones en contenedores de forma directa y controlada.
El funcionamiento es sencillo: escribes un comando, el cliente lo envía al daemon Docker y este ejecuta la acción correspondiente. El cliente puede instalarse tanto en tu equipo local como en servidores remotos o entornos virtuales, lo que facilita la gestión centralizada de infraestructuras distribuidas.
Contenedor Docker
Un contenedor Docker es una unidad ligera y autónoma que incluye todo lo necesario para ejecutar una aplicación: código, dependencias, bibliotecas y configuraciones.
Su mayor ventaja es la portabilidad. Un contenedor puede moverse sin cambios desde el portátil de un desarrollador hasta un entorno de pruebas o producción, manteniendo el mismo comportamiento en cada etapa. Esto reduce errores, acelera despliegues y aporta una consistencia difícil de lograr con enfoques tradicionales.
Imagen Docker
La imagen Docker es la base de todo contenedor. Funciona como una plantilla preconfigurada que define qué debe incluirse y cómo debe ejecutarse una aplicación.
La mayoría de las imágenes se obtienen desde repositorios públicos, aunque también es común crear imágenes personalizadas mediante un archivo Dockerfile. Este enfoque permite estandarizar entornos y replicarlos de forma exacta tantas veces como sea necesario.
Registro Docker
El registro Docker actúa como un repositorio central donde se almacenan y gestionan imágenes. Su función principal es facilitar la distribución y el despliegue de aplicaciones, permitiendo compartir imágenes entre equipos, servidores y entornos.
Gracias a los registros, las organizaciones pueden versionar sus aplicaciones, controlar qué se despliega y mantener un flujo de trabajo ordenado, seguro y escalable.
Tambien puede interesarte: Guía completa de todos los tipos de input en HTML
Comandos de construcción
Docker utiliza el comando build para crear imágenes a partir de un archivo Dockerfile. Estos son los más comunes:
| Comando | Explicación |
|---|---|
docker build . | Construye una imagen usando el Dockerfile del directorio actual |
docker build https://github.com/docker/rootfs.git#contenedor:docker | Construye una imagen desde un repositorio Git remoto |
docker build -t imagen:tag . | Construye y etiqueta una imagen para facilitar su identificación |
docker build https://tecsifyserver/file.tar.gz | Crea una imagen desde un archivo TAR remoto |
docker build -t imagen:1.0 -<<EOF FROM busybox RUN echo "hola tecsify" EOF | Construye una imagen pasando el Dockerfile por STDIN |
Comandos de limpieza
Mantener Docker limpio no es solo una buena práctica: es una necesidad para evitar consumir espacio innecesario y mejorar el rendimiento del sistema.
| Comando | Explicación |
|---|---|
docker image prune | Elimina imágenes no utilizadas |
docker image prune -a | Borra todas las imágenes que no estén en uso |
docker system prune | Limpia contenedores detenidos, redes sin uso, imágenes huérfanas y caché |
docker image rm image | Elimina una imagen específica |
docker rm container | Elimina un contenedor |
docker rm $(docker ps -a -q) | Elimina todos los contenedores detenidos |
docker kill $(docker ps -q) | Detiene todos los contenedores en ejecución |
docker volume rm $(docker volume ls -f dangling=true -q) | Elimina volúmenes sin uso |
docker swarm leave | Abandona un enjambre |
docker stack rm stackname | Elimina una pila (stack) |
Comandos de interacción con contenedores
Estos comandos te permiten controlar el ciclo de vida y el comportamiento de los contenedores.
| Comando | Explicación |
|---|---|
docker start container | Inicia un contenedor |
docker stop container | Detiene un contenedor |
docker pause container | Pausa un contenedor |
docker unpause container | Reanuda un contenedor |
docker restart container | Reinicia un contenedor |
docker attach container | Se conecta a un contenedor en ejecución |
docker exec -ti container comando | Ejecuta un comando dentro del contenedor |
docker logs -ft container | Muestra y sigue los logs del contenedor |
docker export container | Exporta el sistema de archivos del contenedor a un TAR |
docker commit container image | Crea una imagen a partir de un contenedor |
Comandos de inspección
Ideales para monitorear, auditar y depurar contenedores.
| Comando | Explicación |
|---|---|
docker ps | Lista los contenedores en ejecución |
docker ps -a | Lista todos los contenedores |
docker diff container | Muestra cambios en el sistema de archivos del contenedor |
docker top container | Lista procesos activos dentro del contenedor |
docker inspect container | Muestra información detallada del contenedor |
docker logs container | Obtiene los registros del contenedor |
docker stats container | Muestra consumo de recursos en tiempo real |
Comandos de gestión de imágenes
Para organizar, versionar y analizar imágenes Docker.
| Comando | Explicación |
|---|---|
docker image ls | Lista imágenes disponibles |
docker image rm imagen | Elimina una imagen |
docker tag image tag | Etiqueta una imagen |
docker history image | Muestra el historial de capas |
docker inspect image | Inspecciona una imagen en detalle |
También puede interesarte: DeepSeek-R1: Cómo instalar y ejecutar IA localmente [Guía paso a paso]
Comandos de ejecución (docker run)
La sintaxis base es:
docker run (opciones) imagen (comando) (args)
Flags más utilizadas:
| Flag | Explicación |
|---|---|
-d, --detach | Ejecuta el contenedor en segundo plano |
-e, --env | Define variables de entorno |
-h, --hostname | Establece un nombre de host |
-l, --label | Añade metadatos al contenedor |
--name | Asigna un nombre |
--network | Conecta a una red |
--rm | Elimina el contenedor al detenerse |
--read-only | Sistema de archivos en modo solo lectura |
-w, --workdir | Define el directorio de trabajo |
Comandos de registro
Para interactuar con registros de imágenes como Docker Hub.
| Comando | Explicación |
|---|---|
docker login | Inicia sesión en un registro |
docker logout | Cierra sesión |
docker pull imagen | Descarga una imagen |
docker push repo/imagen:tag | Sube una imagen al registro |
docker search término | Busca imágenes públicas |
Comandos de servicios (Docker Swarm)
Gestión de servicios en entornos orquestados.
| Comando | Explicación |
|---|---|
docker service ls | Lista servicios activos |
docker service ps servicio | Muestra tareas del servicio |
docker service create imagen | Crea un servicio |
docker service update servicio | Actualiza un servicio |
docker service scale servicio=10 | Escala un servicio |
docker service logs servicio | Muestra logs del servicio |
docker stack services stackname | Lista servicios de una pila |
Comandos de red
Control total sobre la conectividad de tus contenedores.
| Comando | Explicación |
|---|---|
docker network create red | Crea una red |
docker network rm red | Elimina una red |
docker network ls | Lista redes disponibles |
docker network connect red contenedor | Conecta un contenedor |
docker network disconnect red contenedor | Desconecta un contenedor |
docker network inspect red | Muestra detalles de la red |
Dominar estos comandos no es memorizar una lista, es entender el control que Docker te ofrece. Cuando los incorporas a tu flujo de trabajo, la infraestructura deja de ser un problema y se convierte en una ventaja real para construir, escalar y entregar tecnología sin fricción.
Conclusión
Docker no es solo una herramienta técnica: es una forma más inteligente de construir, mover y escalar aplicaciones. A lo largo de esta guía recorrimos los fundamentos de su arquitectura y revisamos los comandos esenciales que te permiten tomar control real de tus contenedores, imágenes y servicios.
Dominar Docker no ocurre de un día para otro, pero contar con una base clara y práctica marca la diferencia. Cada comando que aprendes reduce fricción, acelera despliegues y te acerca a entornos más confiables y consistentes, sin importar dónde se ejecuten tus aplicaciones.
Si este contenido te ayudó a entender mejor cómo funciona Docker y cómo usarlo en la práctica, el objetivo está cumplido. Y si te queda alguna duda o quieres profundizar en algún tema específico, la conversación sigue abierta: déjanos tu pregunta en los comentarios y sigamos construyendo tecnología al alcance de todos.









¡Danos tu opinión!