Рельсы 6 Docker с PostgreSQL Ошибка подключения - PullRequest
0 голосов
/ 15 апреля 2020

В настоящее время я начинаю с Docker и пытаюсь адаптировать свое первое приложение с помощью Docker - и Docker -композитного файла.

Кажется, что работает нормально, пока не достигну Точка, где я хочу создать свою базу данных. Я правильно настроил переменные окружения и отразил их в моем файле database.yml

# .env

POSTGRES_USER='deploy'
POSTGRES_PASSWORD='deploy'
POSTGRES_DB='nkbrf_db'

    # database.yml

    default: &default
      adapter: postgresql
      encoding: unicode
      pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
      username: <%= ENV['POSTGRES_USERNAME'] %>
      password: <%= ENV['POSTGRES_PASSWORD'] %>
      database: <%= ENV['POSTGRES_DB'] %>
      host: db

    development:
      <<: *default

    test:
      <<: *default

production:
  <<: *default

Вот мой docker -compose.yml:

version: '3'
services:
    db:
        image: postgres
        volumes:
        - 'postgres:/var/lib/postgresql/data'
        env_file:
            - '.env'
        ports: 
        - "5432"
    web:
        build: .
        command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
        volumes:
            - .:/nkbrfqm
            - bundler_gems:/bundle
        ports:
            - "3000:3000"
        environment:
            RAILS_ENV: development
        depends_on:
            - db
volumes:
    postgres:
    bundler_gems:

Он все настраивает правильно, но если я пытаюсь создать свою базу данных с помощью

docker -compose запустить web rake db: create

, я получаю следующую ошибку:

PG :: ConnectionBad: FATAL: сбой аутентификации по паролю для пользователя "root"

Откуда этот пользователь "root"? Что-то не так с моими настройками переменных среды?

1 Ответ

0 голосов
/ 15 апреля 2020

Вам нужно удалить одиночную кавычку ' в файле .env, затем вам нужно удалить все контейнеры в файле compose (docker-compose rm). затем выполните docker-compose up -d

Пример

# .env

POSTGRES_USER=deploy POSTGRES_PASSWORD=deploy POSTGRES_DB=nkbrf_db

Спасибо

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