Docker
v27.xPlataforma estándar de contenerización
Descripción
Docker permite empaquetar aplicaciones y sus dependencias en contenedores portátiles e inmutables. Garantiza que el comportamiento sea idéntico en dev, staging y producción. WicSecure usa Docker Swarm para orquestar múltiples nodos con alta disponibilidad.
Uso en WicSecure
Todos los servicios del clúster se ejecutan como contenedores Docker. El clúster Swarm tiene 3 nodos: manager1 (Traefik + Registry + Monitor), node1 (apps de clientes) y node-db (PostgreSQL + MySQL). Las imágenes se construyen localmente y se distribuyen via el registry privado registry.wicsecure.com.
Configuración clave
yamlconfig
# Construir imagen y subir al registry privado
docker build -t apps-web:latest -f Dockerfile .
docker tag apps-web:latest registry.wicsecure.com/apps-web:latest
docker push registry.wicsecure.com/apps-web:latest
# Desplegar stack en Swarm
docker stack deploy --with-registry-auth -c stack.yml mi-app
# Forzar actualización de imagen
docker service update --force mi-app_webEjemplo de uso
yaml
# stack.yml — estructura base de un servicio
version: "3.8"
services:
api:
image: registry.wicsecure.com/mi-api:latest
deploy:
replicas: 2
placement:
constraints: [node.role == worker]
resources:
limits: { cpus: "1.0", memory: 512M }
environment:
DATABASE_URL: ${DATABASE_URL}
networks: [app_net, traefik-net]
secrets: [jwt_secret]
networks:
app_net: { external: true }
traefik-net:{ external: true }
secrets:
jwt_secret: { external: true }Características clave
- Aislamiento de procesos con namespaces Linux
- Imágenes inmutables con capas cacheable
- Docker Swarm para HA y rolling deployments
- Registry privado para distribución segura
- Healthchecks y auto-restart de contenedores