Я пытаюсь докеризировать существующее приложение Rails, которое использует Postgresql 9.5 в качестве базы данных. В моем docker-compose.yml. После успешной сборки «docker-compose» я могу запустить команду «docker-compose up» и увидеть соединение, но при переходе на localhost я получаю следующую ошибку.
PG :: ConnectionBad
Не удалось подключиться к серверу: нет такого файла или каталога. Сервер работает> локально и принимает подключения через сокет домена Unix> "/ var / run / postgresql / .s.PGSQL.5432"?
Вот что есть в моем docker-compose.yml
version: '2'
services:
db:
image: postgres:9.5
restart: always
volumes:
- ./tmp/db:/var/lib/postgresql/9.5/main
environment:
POSTGRES_USER: username
POSTGRES_PASSWORD: password
POSTGRES_DB: hardware_development
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- .:/myapp
ports:
- "3000:3000"
depends_on:
- db
Из того, что я видел, мне нужно сделать некоторую спецификацию где-нибудь в моем dockerfile или docker-compose.yml, но я либо не вижу изменений, либо возвращаюсь к той же самой ошибке.
Я смог использовать собственные документы Докера, чтобы использовать Docker Compose для создания нового приложения для rails с postgres, где я вижу: «Да, ты на рельсах!» страница, но теперь с моим собственным кодом я ничего не вижу. Запуск приложения за пределами Docker также показывает мне тестовую страницу, так что это не код в моем приложении rails или в среде Postgres за пределами Docker.