我正在开发一个由Java Web应用程序和postgresql数据库组成的开源应用程序。理想情况下,它可以部署,类似于shipyard quickstart中详述的流程:
是否建议您设置数据库架构?我正在考虑使数据库映像的Dockerfile在构建时创建模式但是此时postgres显然没有运行。
答案 0 :(得分:4)
我们在工作的地方使用Postgres和Docker,我们最终做了以下事情:
在docker-entrypoint.sh的顶部,我输入了以下内容:
# Get the schema
url=$(curl -s -u ${GIT_USER}:${GIT_PASSWORD} "${SQL_SCRIPT_URL}" | python -c 'import sys, json; print json.load(sys.stdin)["download_url"]')
curl ${url} > db.sh
chmod +x db.sh
cp db.sh ./docker-entrypoint-initdb.d
这基本上从Github下载了一个初始化数据库模式的shell脚本。我们这样做是为了管理模式的版本,所以当你启动容器时,你可以通过ENV变量告诉它使用哪个模式。
关于代码的一些注释: