this post was submitted on 26 Mar 2024
11 points (92.3% liked)

Docker

1102 readers
2 users here now

founded 1 year ago
MODERATORS
 

I'm trying to create a postgres container, I have the following in my Docker Compose:

db:
  container_name: db
  image: postgres
  restart: always
  environment:
    #POSTGRES_USER="postgres"
    POSTGRES_PASSWORD: HDFnWzVZ5bGI
  ports:
    - 5432:5432
  volumes:
    - pgdata:/var/lib/postgresql/data
adminer:
  container_name: adminer
  image: adminer
  restart: always
  ports:
    - 8338:8080

And yet Docker keeps saying that the database is initialized and that the superuser is not specified. Where am I going wrong?

I've tried with and without equals, a hyphen, quotation marks. No matter what I try, it won't see it.

#Solution:

Find:

  volumes:
    - pgdata:/var/lib/postgresql/data

Replace:

  volumes:
    - /opt/postgres/data:/var/lib/postgresql/data

More info: https://lazysoci.al/comment/8597610

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 7 months ago (3 children)

Thanks, I tried with and without the POSTGRES_USER line commented out, still not joy. The documentation says it should default to default when not declared.

As for the password, don't worry I changed it right away.

[–] [email protected] 2 points 7 months ago (2 children)

I assume there is nothing in the database? Delete the file under volumes and relaunch. At a guess your database for initialized without a user and is now just in that state.

[–] [email protected] 1 points 7 months ago (1 children)

Turns out I didn't actually have a volume, so nothing was actually created properly.

[–] [email protected] 2 points 7 months ago

Yep. Sounds right. Welcome to learning docker compose.