Как исправить ошибку «Ошибка: база данных не инициализирована и пароль суперпользователя не указан». - PullRequest
3 голосов
/ 26 февраля 2020

Здравствуйте, я получаю эту ошибку после запуска docker -compose build up

Но я получаю эту ошибку postgres_1 | Ошибка: база данных не инициализирована и пароль суперпользователя не указан.

Вот снимок ошибки! enter image description here

А ниже мой docker -compose.yml файл

версия: '3.6'

Сервер. js файл

services: 
  smart-brain-api:
    container_name: backend
    build: ./
    command: npm start
    working_dir: /usr/src/smart-brain-api
    ports:
      - "3000:3000"
    volumes:
      - ./:/usr/src/smart-brain-api

  #PostGres Database

  postgres:
    image: postgres
    ports:
      - "5432:5432"

Ответы [ 2 ]

8 голосов
/ 14 марта 2020

Вы можете использовать свойство окружения POSTGRES_HOST_AUTH_METHOD, внеся следующие изменения в docker-compose.yml.

db:
    image: postgres:9.6-alpine
    environment:
      POSTGRES_DB: "db"
      POSTGRES_HOST_AUTH_METHOD: "trust"

Вышеуказанное устранит ошибку.

7 голосов
/ 27 февраля 2020

Во избежание этого вы можете указать следующие переменные окружения для контейнера postgres в вашем docker -компонентном файле.

POSTGRES_PASSWORD Эта переменная окружения обычно требуется для использования PostgreSQL изображение. Эта переменная среды устанавливает пароль суперпользователя для PostgreSQL. Суперпользователь по умолчанию определяется переменной среды POSTGRES_USER.

POSTGRES_DB Эта необязательная переменная среды может использоваться для определения другого имени для базы данных по умолчанию, которая создается при первом запуске образа. Если он не указан, будет использовано значение POSTGRES_USER.

Для получения дополнительной информации о переменных среды проверьте: https://hub.docker.com/_/postgres

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...