3

我正在尝试使用 postgresql 数据库而不是 Rancher 数据库将 Rancher 作为容器运行。在文档(http://docs.rancher.com/rancher/installing-rancher/installing-server/)中写道,您可以使用外部数据库,但它只提到了 mysql。我想知道是否可以使用另一个外部数据库,如 postgresql。因此,我尝试使用以下命令启动容器,将其指向与容器在同一主机上运行的 postgresql 数据库:

docker run -d --restart=always -p 8080:8080 -e CATTLE_DB_CATTLE_MYSQL_HOST=127.0.0.1 -e CATTLE_DB_CATTLE_MYSQL_PORT=5432 -e CATTLE_DB_CATTLE_MYSQL_NAME=db_name -e CATTLE_DB_CATTLE_USERNAME=db_user -e CATTLE_DB_CATTLE_PASSWORD=some_password rancher/server

以上导致容器启动但没有使用我告诉它使用的 postgresql 数据库。它使用 Rancher 数据库。

也尝试了以下但仍然相同的结果:

docker run -d --restart=always -p 8080:8080 -e CATTLE_DB_CATTLE_HOST=127.0.0.1 -e CATTLE_DB_CATTLE_PORT=5432 -e CATTLE_DB_CATTLE_NAME=db_name -e CATTLE_DB_CATTLE_USERNAME=db_user -e CATTLE_DB_CATTLE_PASSWORD=some_password rancher/server

我在想我传递的参数是错误的,或者 Rancher 只支持 mysql 作为外部数据库。

有什么想法/建议吗?

谢谢,

4

1 回答 1

6

MySQL 是唯一受支持的数据库。(和 H2,用于集成测试)

所有的数据库交互都是通过理论上与数据库无关的抽象来实现的,但我们不会为 Postgres 打包驱动程序,也不会针对 Postgres 进行测试。 根据这个旧的 PR有一堆小问题,比如列类型名称必须解决。要尝试使用它,您必须设置CATTLE_DB_CATTLE_DATABASE=postgres,您现在正在尝试将 MySQL(实际上是 MariaDB)客户端连接到 Postgres 端口,并且他们不知道如何相互交谈。

于 2016-05-04T18:27:07.307 回答