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 de lectura • Equip Q2BSTUDIO

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.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat