使用docker-compose在Postgresql数据库中创建表

使用docker-compose在Postgresql数据库中创建表,第1张

使用docker-compose在Postgresql数据库中创建表

我不想输入psql来输入

您可以简单地使用容器的内置init机制:

COPY init.sql /docker-entrypoint-initdb.d/10-init.sql

这样可以确保在正确启动数据库服务器后执行您的sql。

看一看他们的入口点脚本。它做了一些准备工作,以正确和外观到启动PSQL

/docker-entrypoint-initdb.d/
目录在结尾的文件
.sh
.sql
.sql.gz

10-
文件名中的原因是因为文件以ASCII顺序处理。你能说出你的其他的init文件,如
20-create-tables.sql
30-seed-tables.sql.gz
例如,并确保他们在需要的顺序进行处理。

另请注意,调用命令未指定数据库。如果要迁移到docker-compose并且现有

.sql
文件也未指定DB ,请记住这一点。

不过,您的文件将在容器的第一个开始

build
阶段进行处理。由于Docker
Compose会先停止映像然后再恢复图像,所以几乎没有什么区别,但是如果您在
build
阶段初始化数据库至关重要,我建议您仍然使用内置的init方法,方法是
/docker-entrypoint.sh
从dockerfile 调用然后在
/docker-entrypoint-initdb.d/
目录中进行清理。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5012581.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存