Cada contêiner tem sua própria interface de rede com seu próprio localhost. Então mude como o Java aponta para o Postgres:
spring.datasource.url=jdbc:postgresql://localhost:5432/sample
Para:
spring.datasource.url=jdbc:postgresql://db:5432/sample
db
resolverá para o IP apropriado do Postgres. Bônus. Com o docker-compose você não precisa construir sua imagem manualmente. Então mude:
web:
image: myuser/manager:latest
Para:
web:
build: .