我一直试图通过创建一个自定义用户为开发postgres实例设置一个容器;数据库。我正在使用官方postgres docker图片。在文档中,它指导您在/docker-entrypoint-initdb.d/
文件夹中插入bash脚本,以使用任何自定义参数设置数据库。
su postgres -c "createuser -w -d -r -s docker"
su postgres -c "createdb -O docker docker"
FROM library/postgres
RUN ["mkdir", "/docker-entrypoint-initdb.d"]
ADD make_db.sh /docker-entrypoint-initdb.d/
我从docker logs -f db
(db是我的容器名)得到的错误是:
postgres:不能连接到服务器:没有这样的文件或目录
似乎在postgres启动之前,/docker-entrypoint-initdb.d/
文件夹中的命令正在执行。我的问题是,如何使用官方postgres容器以编程方式设置用户/数据库?有什么方法可以用脚本来做到这一点吗?