Yii2 в Docker-compose контейнере подключить к существующей субд postgres

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
nekit44
Сообщения: 125
Зарегистрирован: 2015.10.27, 13:14

Yii2 в Docker-compose контейнере подключить к существующей субд postgres

Сообщение nekit44 »

Добрый день

огромная просьба пнуть в нужном направлении...

Есть сервер на нем установлена субд postgres и с ней работает "старая версия сайта"
разработал "новую версию" на yii2, которая должна работать совместно с старой версией

Через использование docker-compose поднял приложение

Код: Выделить всё

version: '3.2'

services:

  frontend:
    build: frontend
    ports:
      - 20080:80
    volumes:
      # Re-use local composer cache via host-volume
      - ~/.composer-docker/cache:/root/.composer/cache:delegated
      # Mount source-code for development
      - ./:/app
исключение

Код: Выделить всё

Database Exception – yii\db\Exception
SQLSTATE[08006] [7] could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?

Я понимаю что он не видит базу потому что крутится изолировано контейнером. И нужно как то настроить проброс порта
Вот только не могу сообразить/нагуглить как это сделать

Может кто то сталкивался с подобным, был бы очень признателен, спасибо

PS новую версию не запустить без контейнера так как версия php старая
nekit44
Сообщения: 125
Зарегистрирован: 2015.10.27, 13:14

Re: Yii2 в Docker-compose контейнере подключить к существующей субд postgres

Сообщение nekit44 »

Так как docker-compose по умолчанию в режиме bridge
Разрешил в настройках postgres
listen_addresses = '*'

и в pg_hba.conf
ip и пользователя базы

Решение очень не хорошее так как у докера сеть назначается рандомно и при перезапуске ip будет другой

может кто из гуру обратит внимание на мою проблему, был бы очень признателен
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Yii2 в Docker-compose контейнере подключить к существующей субд postgres

Сообщение proctoleha »

Если проблема только в настройках сети, то вот примитивный пример docker-compose.yml с явной настройкой сети докера

Код: Выделить всё

version: "3"

services:
  php74:
    build:
      context: docker
    container_name: calculate
    working_dir: /app
    volumes:
      - ./:/app
    networks:
      - calculate

networks:
  calculate:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 192.168.230.0/28
При такой записи машина хоста, в OS Linux, всегда будет доступна по адресу 192.168.230.1
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
Ответить