Guía Completa de Docker

Guía práctica de Docker para DevOps: contenedores, imágenes, redes y volúmenes, seguridad y control de recursos; orquestación con Swarm y buenas prácticas de despliegue.

16 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Docker explicado de forma sencilla y práctica para desarrolladores y equipos de operaciones. Docker es una plataforma de contenedores que permite empaquetar aplicaciones junto con sus dependencias en entornos aislados llamados contenedores, de modo que la aplicación funcione igual en cualquier entorno y se evita el clásico problema funciona en mi máquina pero no en la tuya.

Arquitectura básica: Docker se compone principalmente del cliente Docker y del demonio Docker. El cliente envía comandos como docker run o docker pull y el demonio procesa peticiones, construye imágenes, crea y ejecuta contenedores, gestiona redes y volúmenes. La comunicación cliente demonio puede ser por socket Unix, API REST o interfaz de red. Una analogía simple: el cliente es quien pide y el demonio es la cocina que prepara el plato.

Componentes clave: imagenes, contenedores, motor Docker, Dockerfile y registro. Las imagenes son plantillas de solo lectura construidas por capas; los contenedores son instancias en ejecución con una capa de lectura y escritura temporal por defecto; el motor Docker es el runtime que construye y ejecuta contenedores; el Dockerfile es la receta que contiene instrucciones leidas de arriba a abajo para construir una imagen; un registro como Docker Hub almacena y comparte imagenes.

Ejemplo simple de Dockerfile: FROM ubuntu RUN apt update && apt install -y nginx CMD [nginx -g daemon off;] Con docker build se genera la imagen y con docker run se crea el contenedor ejecutable.

Diferencias con máquinas virtuales: los contenedores comparten el kernel del host y por eso son mucho más ligeros y rápidos al arrancar que una VM que necesita su propio sistema operativo. Use contenedores para microservicios y VMs cuando necesite ejecutar un sistema operativo distinto completo sobre el host.

Comandos comunes resumidos: listar imagenes docker image ls, descargar docker pull nombreimagen, eliminar docker rmi nombreimagen. Contenedores: ejecutar docker run -d -p 80:80 nginx, listar docker ps -a, abrir terminal docker exec -it idcont /bin/bash, ver logs docker logs idcont. Gestionar recursos: docker stats muestra uso en tiempo real.

Almacenamiento: los contenedores son efímeros por defecto, por eso existen los volúmenes de Docker que viven fuera del contenedor y preservan datos. Tipos de almacenamiento: bind mount que enlaza una ruta del host con el contenedor, volumen gestionado por Docker almacenado en /var/lib/docker/volumes, y tmpfs que guarda datos en RAM. Ejemplo de uso de volumen: docker run -d -it --name miapp --mount source=ak,destination=/var/app/data ubuntu /bin/bash

Redes: los contenedores pueden comunicarse mediante diferentes modos: none para aislamiento total, host para compartir la IP del host, bridge que es la red por defecto y crea IPs privadas para contenedores. Comandos útiles: docker network ls, docker network create nombre, docker network inspect nombre. Para asignar una IP manual usar docker run --network mi_red --ip 192.168.50.50 imagen.

Dockerfile explicado: cada instruccion forma una capa. Instrucciones habituales: FROM para la imagen base, RUN para ejecutar comandos al construir, COPY y ADD para copiar ficheros, WORKDIR para establecer directorio de trabajo, ENV y LABEL para metadata, EXPOSE para declarar puertos, CMD y ENTRYPOINT para definir el comando por defecto. Recuerde que el contenedor necesita un proceso en primer plano para mantenerse vivo.

Etiquetado y despliegue: las tags identifican versiones de imagen, por ejemplo docker tag idusuario/app:v1. Para construir docker build -t usuario/app:1.0 . y para subir docker push usuario/app:1.0 a un registro público o privado.

Orquestación con Docker Swarm: cuando se manejan múltiples hosts y cientos de contenedores conviene usar un orquestador. Docker Swarm es la solución nativa sencilla para clustering, alta disponibilidad, balanceo y escalado. Activar swarm con docker swarm init --advertise-addr IP en el manager y unir nodos workers con docker swarm join --token token manager-ip:2377. Crear servicios con docker service create --replicas 2 -p 80:80 --name web nginx y escalar con docker service scale web=5. Swarm ofrece modos replicado y global, actualizaciones controladas y rollback con docker service update y docker service rollback.

Control de recursos: es esencial establecer limites de CPU y memoria para evitar que un contenedor acapare recursos. Ejemplos: docker run -d --memory=512m --cpus=0.5 nginx limita memoria a 512 MB y CPU a 50 por ciento de un núcleo. Para prioridades relativas usar --cpu-shares y para control avanzado --cpu-period y --cpu-quota. Use docker stats para monitorizar y ajustar.

Seguridad: buenas prácticas incluyen usar imagenes ligeras como alpine, ejecutar procesos como usuarios no root, aplicar politicas AppArmor o SELinux, limitar capacidades con --cap-drop ALL y evitar nuevos privilegios con --security-opt no-new-privileges. Mantener imagenes actualizadas y escanear con herramientas como trivy. Ejemplo seguro de ejecución: docker run -d --name appsegura --memory=512m --cpus=0.5 --security-opt no-new-privileges --cap-drop ALL --read-only --tmpfs /tmp:rw,size=64m usuario/app:1.0

Buenas prácticas de desarrollo y DevOps: usar multi stage builds para generar imagenes pequeñas y sin herramientas de compilacion, mantener un solo proceso principal por contenedor, exponer solo puertos necesarios y usar volúmenes para persistencia. Combine Docker con CI CD para reconstrucciones automatizadas y despliegues reproducibles.

Comandos de referencia rapida sin detalles exhaustivos: docker build, docker run, docker ps, docker exec, docker logs, docker image ls, docker volume ls, docker network ls, docker swarm init y docker service create entre otros. Limpieza: docker system prune para recuperar espacio eliminando recursos no usados.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones a medida que integran inteligencia artificial y ciberseguridad para empresas. Ofrecemos servicios de software a medida y aplicaciones a medida adaptadas a procesos de negocio concretos, consultoria en servicios cloud aws y azure y proyectos de servicios de inteligencia de negocio y power bi. Si necesita construir una aplicacion a medida visite desarrollo de aplicaciones y software a medida y para soluciones avanzadas de inteligencia artificial y agentes IA consulte servicios de inteligencia artificial para empresas. También trabajamos en ciberseguridad y pentesting, automatizacion de procesos y proyectos de inteligencia de negocio para transformar datos en decisiones accionables.

Conclusión: Docker es una herramienta imprescindible para desarrolladores y equipos DevOps porque facilita la portabilidad, acelera despliegues y simplifica la escalabilidad. Combinado con buenas practicas de seguridad, control de recursos y orquestación como Docker Swarm o alternativas como Kubernetes, Docker ayuda a operar aplicaciones modernas de forma eficiente. En Q2BSTUDIO acompañamos a las empresas en todo el ciclo, desde el desarrollo de software a medida hasta la implantacion de IA para empresas, ciberseguridad, servicios cloud y soluciones de inteligencia de negocio con power bi para maximizar el valor de sus datos.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat