Encontranos en redes
Docker ComposeDeployProducción9 min de lectura
Deploy multi-servicio con Docker Compose
Desplegá una aplicación completa con Docker Compose: app, base de datos, Redis y Nginx.
Docker Compose permite definir y ejecutar aplicaciones multi-contenedor. Ideal para desplegar un stack completo en producción.
Paso 1 — Instalar Docker y Docker Compose
Si no tenés Docker instalado:
bash
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USERDocker Compose viene incluido con Docker Engine moderno (plugin docker compose).
Paso 2 — Estructura del proyecto
bash
mkdir -p ~/miapp && cd ~/miappCreá docker-compose.yml:
yaml
version: '3.8'
services:
app:
build: .
restart: always
environment:
- DATABASE_URL=postgres://appuser:secreto@db:5432/miapp
- REDIS_URL=redis://redis:6379
depends_on:
- db
- redis
networks:
- backend
db:
image: postgres:16-alpine
restart: always
environment:
POSTGRES_DB: miapp
POSTGRES_USER: appuser
POSTGRES_PASSWORD: secreto
volumes:
- pgdata:/var/lib/postgresql/data
networks:
- backend
redis:
image: redis:7-alpine
restart: always
command: redis-server --requirepass redispass
volumes:
- redisdata:/data
networks:
- backend
nginx:
image: nginx:alpine
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
- ./certs:/etc/nginx/certs
depends_on:
- app
networks:
- backend
volumes:
pgdata:
redisdata:
networks:
backend:Paso 3 — Configuración de Nginx
Creá nginx.conf:
nginx
server {
listen 80;
server_name midominio.com;
location / {
proxy_pass http://app:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}Paso 4 — Desplegar
bash
docker compose up -d
docker compose ps
docker compose logs -f appPaso 5 — Comandos útiles
bash
# Reconstruir después de cambios
docker compose up -d --build
# Ver logs de un servicio
docker compose logs -f db
# Ejecutar comando en contenedor
docker compose exec app sh
# Detener todo
docker compose down
# Detener y eliminar volúmenes (cuidado)
docker compose down -vPaso 6 — Actualizar en producción
bash
git pull
docker compose up -d --build appDocker Compose simplifica el deploy de aplicaciones complejas en tu VPS de Baires Host.
¿Te resultó útil esta guía?