我无法在docker映像中初始化带有sequelize的数据库。由于无法使用localhost,由于Unix套接字,我一直收到拒绝连接的错误。
我已经读过how to create的脚本,但是我的项目使用了续集。
我还尝试了socket connections和使用socat的各种策略
psql命令将在我的初始化脚本中成功执行,但是yarn命令或sequelize命令最终以
.njsproj
我的最终初始化脚本如下:
ERROR: connect ECONNREFUSED 127.0.0.1:5432
create命令仅调用socat TCP-LISTEN:5432 UNIX-CONNECT:/var/run/postgresql/.s.PGSQL.5432 &
yarn --cwd /root db-create
我不太确定从这里到哪里。看来这应该很简单。我只是想念一些明显的东西吗?
-编辑
值得指出的是,使用postgres安装可以很好地工作。当我们刚刚在数据库中启动postgres并在其后运行yarn命令时,它运行良好。唯一的区别是,我们正在尝试在容器启动时创建和迁移数据库,因此这不是手动过程。
答案 0 :(得分:1)
如果您绑定到本地主机,则应该能够在127.0.0.1:5432
上找到它
socat TCP-LISTEN:5432,bind=127.0.0.1,reuseaddr,fork UNIX-CLIENT:/var/run/postgresql/.s.PGSQL.5432 &