Как подключиться к PostgreSQL в Докере?
Я пока изучаю докер и создал файл докер компосе
version: '3.5'
services:
db_as:
container_name: db_as
ports:
- "5438:5432"
restart: always
environment:
- POSTGRES_DB=db_as
- POSTGRES_PASSWORD=i5fz%4Nz&o*b#1Ep
- POSTGRES_USER=root
image: postgres:15.2-alpine
Но когда пытаюсь получить БД в node через Sequelize, выводит ошибку
ConnectionError [SequelizeConnectionError]: database "db_as" does not exist
Мой код Sequelize
const {Sequelize} = require('sequelize')
module.exports = new Sequelize(
process.env.DB_NAME,
process.env.DB_USER,
process.env.DB_PASSWORD,
{
dialect: 'postgres',
host: process.env.DB_HOST,
port: process.env.DB_PORT,
}
)
Мой код .env
DB_NAME="db_as"
DB_USER="root"
DB_PASSWORD="root"
DB_HOST="127.0.0.1"
DB_PORT=5438
Я пытался использовать localhost, также ip 127.0.0.1, а также получал реальный ip через docker inspect. Я понимаю, что моя БД находиться внутри контейнера и она изолирована. Я предполагаю, что мне нужна какая-то переадресация портов. Помогите пожалуйста самым правильным способом :).
Источник: Stack Overflow на русском