Error while running docker run with db

Details: I am getting this error. Need to know what went wrong and how to resolve:
[email protected]:~/example-voting-app/worker# docker run --name=db postgres:9.4
Error: Database is uninitialized and superuser password is not specified.
You must specify POSTGRES_PASSWORD for the superuser. Use
“-e POSTGRES_PASSWORD=password” to set it in “docker run”.

You may also use POSTGRES_HOST_AUTH_METHOD=trust to allow all connections
without a password. This is not recommended. See PostgreSQL
documentation about “trust”:

Here is the docker-compose.yml:
version is now using “compose spec”

v2 and v3 are now combined!

docker-compose v1.27+ required

services:
vote:
build: ./vote
# use python rather than gunicorn for local dev
command: python app.py
depends_on:
redis:
condition: service_healthy
volumes:
- ./vote:/app
ports:
- “5000:80”
networks:
- front-tier
- back-tier

result:
build: ./result
# use nodemon rather than node for local dev
command: nodemon server.js
depends_on:
db:
condition: service_healthy
volumes:
- ./result:/app
ports:
- “5001:80”
- “5858:5858”
networks:
- front-tier
- back-tier

worker:
build:
context: ./worker
depends_on:
redis:
condition: service_healthy
db:
condition: service_healthy
networks:
- back-tier

redis:
image: redis:5.0-alpine3.10
volumes:
- “./healthchecks:/healthchecks”
healthcheck:
test: /healthchecks/redis.sh
interval: “5s”
ports: [“6379”]
networks:
- back-tier

db:
image: postgres:9.4
environment:
POSTGRES_USER: “raghavan”
POSTGRES_PASSWORD: “rag1234”
POSTGRES_HOST_AUTH_METHOD: trust
volumes:
- “db-data:/var/lib/postgresql/data”
- “./healthchecks:/healthchecks”
healthcheck:
test: /healthchecks/postgres.sh
interval: “5s”
networks:
- back-tier

volumes:
db-data:

networks:
front-tier:
back-tier:

Hi @raghavan.cgn

Looks like you’re trying to build example-voting-app/docker-compose.yml at master · dockersamples/example-voting-app · GitHub but you’ve changed the DB credentials.

I believe when postgres is first launched it requires postgres/postgres as credentials to do the initial configuration.

You would then need to use a tool like psql to add additional database users.

Thanks a lot Alistair,
I did the following changes to my docker-compose.yml and it is working fine now:
db:
image: postgres:9.4
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres