Každý kontejner má své vlastní síťové rozhraní s vlastním localhostem. Změňte tedy způsob, jakým Java ukazuje na Postgres:
spring.datasource.url=jdbc:postgresql://localhost:5432/sample
Komu:
spring.datasource.url=jdbc:postgresql://db:5432/sample
db
bude vyřešen na správnou Postgres IP.
Bonus. S docker-compose nemusíte vytvářet svůj obrázek ručně. Takže změna:
web:
image: myuser/manager:latest
Komu:
web:
build: .