Не удается подключить Postgresql к DOcker-compose

#postgresql #powershell #docker-compose #pgadmin-4

#postgresql #powershell #docker-compose #pgadmin-4

Вопрос:

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

postgres =# du

                                    List of roles
 Role name |                         Attributes                         | Member of
----------- ------------------------------------------------------------ -----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
  

Файл docker-compose.yml :

 version: '3.8'

services:

 # Backend API
    smart-brain-api:
        container_name: backend
        build: ./
        command: npm start
        working_dir: /usr/src/smart-brain-api
        # environment:
        #     POSTGRES_USER: test1
        #     POSTGRES_PASSWORD: test2
        #     POSTGRES_DB: smart-brain-docker
        #     POSTGRES_HOST: postgres
            # POSTGRES_HOST_AUTH_METHOD: trust
        # links:
        #     - postgres
        ports:
            - "3001:3001"
        volumes:
            - ./:/usr/src/smart-brain-api

 # Postgres
    postgres:
        # environment:
            # POSTGRES_USER: test1
            # POSTGRES_PASSWORD: test2
            # POSTGRES_DB: smart-brain-docker
            # POSTGRES_HOST: postgres
            # POSTGRES_HOST_AUTH_METHOD: trust
        image: postgres
        ports:
            - "5432:5432"
  

Закомментированный материал — это то, что я использую дальше в файле, и дополнительно мной: POSTGRES_HOST_AUTH_METHOD: trust предложенный материал — безуспешно.

Я также попытался изменить POSTGRES_HOST: postgres1 — на случай, если это помешает моему суперпользователю postgres — безуспешно.

Я даже пытался изменить POSTGRES_USER и POSTGRES_PASSWORD на свое фактическое имя пользователя и пароль суперпользователя.

И это мой Dockerfile

 FROM node:alpine

WORKDIR /usr/src/smart-brain-api

COPY ./ ./

RUN npm install

CMD ["/bin/bash"]
  

Ошибка после docker-compose up --build

 Successfully tagged smart-brain-api_smart-brain-api:latest
Creating postgres ... done
Creating backend ... done                                                                                         
Attaching to backend, postgres
postgres           | Error: Database is uninitialized and superuser password is not specified.
postgres           |        You must specify POSTGRES_PASSWORD to a non-empty value for the
postgres           |        superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".
postgres           |
postgres           |        You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
postgres           |        connections without a password. This is *not* recommended.
postgres           |
postgres           |        See PostgreSQL documentation about "trust":
postgres           |        https://www.postgresql.org/docs/current/auth-trust.html
postgres exited with code 1
backend            |
  

Я также заметил, когда проигнорировал эту ошибку, и пошел дальше, я бы обошелся CREATE DATABASE postgres_1

В то время как в процессе он получает:

 ...
CREATE DATABASE
CREATE ROLE
...
  

Также я использую -L for nodemon в package.json (не уверен, поможет ли это в поиске проблемы, мне пришлось использовать его только потому, что он не прочитал мои новые изменения).

Когда я просто набираю psql , он пытается разрешить мне войти в систему с именем пользователя моей Windows (которое не задано как пользователь postgres), поэтому я должен использовать psql -U postgres для входа в систему, этот пользователь «по умолчанию» вызывает некоторые проблемы у суперпользователя?

Я буду продолжать пытаться отличаться и отчитываться.

Комментарии:

1. Никто не знает, пропускаю ли я smtg??

2. Если вы включаете только POSTGRE_USER, POSTGRES_DB и POSTGRES_PASSWORD, это не работает?

3. @Carlos на самом деле это не помогает,

4. Вы получаете ту же ошибку?

5. @Carlos да, я думал об удалении моего мастер-пароля pgAdmin (но это не «инициализация суперпользователя»)? Следующая ошибка, которая пришла ко мне: i.imgur.com/lcV282h.png Который раньше всплывал до того, как я установил -L (legacyWatch) в package.json nodemon. Теперь он снова появляется с postgres, можете ли вы помочь мне соединить точки / где еще я могу использовать -L для ‘pg’?