小编pec*_*rin的帖子

如何在Docker Postgres的脚本中创建用户/数据库

我一直在尝试通过创建自定义用户和数据库来为开发postgres实例设置容器.我正在使用官方的postgres docker图像.在文档中,它指示您在/docker-entrypoint-initdb.d/文件夹中插入一个bash脚本,以使用任何自定义参数设置数据库.

我的bash脚本:make_db.sh

su postgres -c "createuser -w -d -r -s docker"
su postgres -c "createdb -O docker docker"
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM library/postgres

RUN ["mkdir", "/docker-entrypoint-initdb.d"]
ADD make_db.sh /docker-entrypoint-initdb.d/
Run Code Online (Sandbox Code Playgroud)

我从docker logs -f db(db是我的容器名称)得到的错误是:

createuser:无法连接到数据库postgres:无法连接到服务器:没有这样的文件或目录

似乎/docker-entrypoint-initdb.d/在postgres启动之前正在执行文件夹内的命令.我的问题是,如何使用官方postgres容器以编程方式设置用户/数据库?有没有办法用脚本执行此操作?

postgresql bash docker dockerhub

179
推荐指数
8
解决办法
17万
查看次数

标签 统计

bash ×1

docker ×1

dockerhub ×1

postgresql ×1