Każdy kontener ma własny interfejs sieciowy z własnym hostem lokalnym. Zmień więc sposób, w jaki Java wskazuje Postgres:
spring.datasource.url=jdbc:postgresql://localhost:5432/sample
Do:
spring.datasource.url=jdbc:postgresql://db:5432/sample
db
zamieni się na właściwy adres IP Postgresa.
Premia. Dzięki docker-compose nie musisz ręcznie budować swojego wizerunku. Więc zmień:
web:
image: myuser/manager:latest
Do:
web:
build: .