Cinco conceptos
- Dockerfile: instrucciones para construir una imagen.
- Imagen: artefacto compuesto por capas.
- Contenedor: proceso aislado que corre desde una imagen.
- Volumen: mantiene datos entre recreaciones de contenedores.
- Red: permite que los servicios se encuentren por nombre.
Compose describe varios servicios, sus redes y sus volúmenes en un archivo YAML.
Inspeccionar servicios
docker compose ps
docker compose logs -f --tail=200
docker compose logs -f api
docker compose up -d
docker compose exec api sh
docker compose down
docker compose down -v elimina los volúmenes y puede borrar datos locales. Entiende su efecto antes de usarlo.
Puertos y red
Un mapeo como 8081:8080 normalmente dirige el puerto 8081 del host al 8080 del contenedor. Tu máquina usa el puerto host. Entre servicios, usa el nombre del servicio y el puerto interno, por ejemplo jdbc:postgresql://db:5432/app.
Dentro de un contenedor, localhost apunta a ese mismo contenedor.
Si un servicio no arranca
docker compose ps: estado y puertos.docker compose logs servicio: causa del fallo de arranque.docker compose config: YAML y variables resueltos; revisa que no muestre secretos.- Confirma healthcheck, perfil Spring, nombre del servicio y volumen.