Lesson 20 / 28
A docker-compose.yml Example
Write a docker-compose.yml with an app and a database service that share a network and volume.
app + database
Each top-level key under services becomes a container. Compose automatically creates a shared network so app can reach db by name.
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DB_HOST=db
depends_on:
- db
db:
image: postgres:16
environment:
- POSTGRES_PASSWORD=secret
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata: