对 TeamCity 进行 docker 化时找不到 Postgresql 驱动程序

Postgresql drivers not found when dockerizing TeamCity

我想使用 Docker image to run TeamCity。但是在选择 Postgresql 时,我只能选择数据库集合。 (虽然内置内存数据库工作正常。)显然,即使我将包含驱动程序的 jar 文件放入请求目录,它也无法识别。

这是我启动容器的方式:

$ sudo docker run --restart=always -d --name tc-postgres omq_/teamcity-postgres:9.4
$ sudo docker run -d --name tc-server -p 8111:8111 --link tc-postgres:tc-postgreslink ariya/centos6-teamcity-server

这是错误信息:

The PostgreSQL JDBC driver is not found in the /data/teamcity/lib/jdbc directory. Download the JDBC41 driver from jdbc.postgresql.org and place it to this directory.

即使在创建 lib/jdbc 并像

一样复制 jar 文件后它仍然存在
$ cp postgresql-9.4-1201.jdbc41.jar /var/lib/docker/aufs/mnt/569bab307f99d53e21b584026a15251ab7d5382d2982431558a1a5dac056dfaa/data/teamcity/lib/jdbc

并按下刷新 JDBC 驱动程序按钮重新启动容器没有区别。

忽略要求并输入凭据以继续会导致出现错误 No suitable JDBC driver found for database type: PostgreSQL

挂载目录(不是文件)解决了问题。

docker run -dt -name teamcity_server -p 8111:8111 -v /you/hosts/path/to/the/jdbc:/data/teamcity/lib/jdbc ariya/centos6-teamcity-server