Docker → Подключение к локальному PostgreSQL из Docker-контейнера
Это будет запись близнец к предыдущему посту :)
Для начала определяем IP, к которому будем подключаться из контейнера:
ip addr show
Смотрим, находим, запоминаем. Далее настроим PostgreSQL. Для начала в /etc/postgresql/9.3/main/postgresql.conf (путь в конфигам может быть и другой, в зависимости от версии БД и дистрибутива вашего линукса, или что вы там используете) находим и редактируем директиву listen_addresses, чтобы сервер БД прослушивал все адреса, а не только localhost:
# /etc/postgresql/9.3/main/postgresql.conf listen_addresses = '*'
Далее разрешим пользователю из докера подключаться в БД. Для этого необходимо добавить строку в /etc/postgresql/9.3/main/pg_hba.conf:
# /etc/postgresql/9.3/main/pg_hba.conf host all all 0.0.0.0/0 password
И напоследок создадим базу данных и пользователя:
CREATE DATABASE pupkin_db; CREATE USER pupkin WITH password 'qwerty'; GRANT ALL privileges ON DATABASE pupkin_db TO pupkin; -- добавим возможность создавать базы данных ALTER ROLE pupkin CREATEDB;
Готово.