Docker-Compose Init Postgres Failing

Я пытался заставить работать файл docker-compose, и до сих пор он был все ближе и ближе, но не совсем там. Возможно, заданные вопросы будут полезны кому-то еще в будущем. В любом случае, предыдущая тема была здесь:

Docker-Compose Postgresql Init Entrypoint

Из чего я узнал,

  1. between runs a docker-compose file should have docker compose volumes --down and
  2. if the POSTGRES_DATABASE isn't specified, then the POSTGRES_NAME will replicate to the POSTGRES_DATABASE.
  3. another suggestion from Discord has been to rewrite some of the volume signature to include the file path to init.sql as in docker-entrypoint-initdb.d/init.sql

Итак, если я docker-compose down --volume и затем sudo docker-compose build && docker-compose up с

version: "3.9"
   
services:
  db:
    restart: always
    image: postgres
    volumes:
      # - ./data/db:/var/lib/postgresql/data
      - ./init.sql:/docker-entrypoint-initdb.d/init.db
    environment:
      - POSTGRES_NAME=dev-postgres
      - POSTGRES_USER=pixel
      - POSTGRES_DATABASE=lightchan
      - POSTGRES_PASSWORD=stardust
  web:
    build: .
    restart: always
    command: sh -c "./waitfor.sh db:5432 -- python3 manage.py runserver"
    volumes:
      - .:/code
    ports:
      - "8001:8001"
    environment:
      - POSTGRES_NAME=dev-postgres
      - POSTGRES_USER=pixel
      - POSTGRES_DATABASE=lightchan
      - POSTGRES_PASSWORD=stardust
    depends_on:
      - db

Затем выводится следующее:

Итак, база данных не видна на веб-странице, но PSQL говорит, что она создана. Если я откомментирую объем данных на PSQL, то получу:

Вновь я использовал docker-compose volumes --down для очистки ошибок из предыдущего потока, но, очевидно, это может привести либо к неправильному выполнению скрипта waitfor.sh при включении томов данных, либо к какой-то другой ошибке по какой-то причине.

Есть какие-нибудь идеи? У меня нет вариантов отладки, о которых я знаю.

Попробуйте открыть порты в ваших службах db:

db:
    restart: always
    image: postgres
    ports:
        - 5432:5432
Вернуться на верх