Как мне подключиться к postgres docker изображению из моего ruby docker приложения? - PullRequest
0 голосов
/ 06 мая 2020

У меня два отдельных проекта. Первое - это мое основное приложение, написанное на ruby. И второй - мой проект базы данных postgresql. Я хочу хранить базу данных отдельно от моего основного приложения.

Ниже мой docker -compose.yml моего основного приложения:

version: "3.8"

services:
  web:
    build:
      context: .
    command: bundle exec rails s -p 3000
    ports:
      - "3000:3000"

Ниже мой database.yml:

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 5

development:
  <<: *default
  database: forbinary_cms_development
  username: postgres
  password: password
  host: localhost

Ниже мой docker -compose.yml для моего postgres проекта:

version: "3.8"
services:
  db:
    image: postgres:10.10
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql
volumes: 
     postgres-data:

Теперь мой вопрос в том, как связать изображение docker основного приложения с это postgres docker изображение? Я хочу сохранить как основное приложение, так и базу данных отдельно docker изображение.

1 Ответ

1 голос
/ 06 мая 2020

У вас есть несколько вариантов:

  1. Мой предпочтительный способ, и я думаю, что это рекомендуемый способ - объединить обе службы в один docker создать файл https://docs.docker.com/compose/networking/#links
  2. Вы можете открыть порт БД и получить к нему доступ с веб-сервера, используя IP-адрес хоста
  3. Вы можете настроить оба docker -compose файлов для использования одной сети и настроить IP-адреса для каждой службы.
...