Volver a Documentación
Docker

Docker

v27.x

Plataforma 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_web

Ejemplo 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