Problema al vincular contenedores en Docker usando Docker-compose

Estoy usando Docker para preparar mi architecture de micro services. Me enfrenta un problema al tratar de vincular un contenedor con otro utilizando docker-componte.

Básicamente tengo un contenedor para una image postgressql, y un micro service java desarrollado con arranque de spring que debe conectarse al contenedor de la database.

Así que estoy estableciendo un enlace en docker-compose.yml y haciendo reference al contenedor db ip como 'db' usando:

- "JAVA_OPTS=-Dpostgres.host=db"

Sin embargo, estoy obteniendo el siguiente error al iniciar el microservice con Docker:

Causado por: java.lang.IllegalArgumentException: No se pudo resolver el marcador de position 'postgress.host' en el valor "jdbc: postgresql: // $ {postgress.host}: 5432 / docker"

Así que, básicamente, este marcador de position no se puede resolver, pero normalmente el compuesto por Docker debería ocuparse de configurar esta variable del sistema para que apunte a la dirección IP del contenedor db, ¿verdad?

¿Qué estoy haciendo mal?

Debajo de los files involucrados:

docker-compose.yml:

  version: "2" services: microservices: build: ./microservices container_name: microservices links: - db - consul environment: - "JAVA_OPTS=-Dpostgres.host=db" consul: image: consul container_name: consul ports: - "8500:8500" db: image: postgres container_name: local-postgres9.6 ports: - "5432:5432" environment: POSTGRES_PASSWORD: docker POSTGRES_USER: docker 

application.yml del microservice:

  server: port: 8081 project: jdbc: url: jdbc:postgresql://${postgres.host}:5432/docker driver: org.postgresql.Driver username: docker password: docker