【发布时间】:2016-02-24 10:09:43
【问题描述】:
我已经在 docker 镜像中安装了 PostgreSQL 9.4.6,docker 版本为 1.10.1。根据这张官方图片: https://github.com/docker-library/postgres/blob/443c7947d548b1c607e06f7a75ca475de7ff3284/9.4/Dockerfile 正如这里所说,为了创建初始数据库,我在“/docker-entrypoint-initdb.d”中添加了我的 sql 脚本。 https://hub.docker.com/_/postgres/ 现在遇到一些麻烦后,我发现当我在数据库名称具有 '-' 的 sql 脚本中添加查询以创建数据库时,它们只会导致容器崩溃(即容器在启动后立即退出)。 但是在数据库名称中没有“-”的查询工作正常,容器也不会崩溃,我可以访问这些数据库。 例如,此查询运行良好。
create database 1stName_2ndName with owner vagrant;
但我分别尝试了这两个查询,但两种情况都失败了
create database '1stName-2ndName' with owner vagrant;
或
create database 1stName-2ndName with owner vagrant;
注意:考虑不带双引号的查询。 vagrant 用户已经创建并且工作正常。
我有一个名为 1stName-2ndName 的数据库。谁能帮我解决这个问题?
【问题讨论】:
-
当我在 sql 文件中添加 sql 查询时......数据库名称有“-”(连字符)......docker 容器在启动后立即退出。但是,当我从 sql 文件中的数据库名称中删除“-”(连字符)时,容器运行正常,我可以使用 docker exec 访问和查看容器内的数据库。实际上最后两个查询是相同的。我的意思是..我尝试了两种方式。我将尝试使用 " 和 `` 转义数据库名称并让您知道。
标签: database docker dockerfile postgresql-9.4