使用官方的redmine docker指南,可以启动连接到postgresql数据库的redmine服务器。我用下面的命令:如何使用docker组合使用postgresql数据库运行redmine组合
docker run -d --name redmine_db -p 6543:5432 -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=redmine postgres:9.5.1
docker run -d --name redmine_web -p 3001:3000 --link redmine_db:postgres redmine:3.2.3
但我有困难与docker compose运行相同的配置。下面是我使用的第一个码头工人,compose.yml文件:
version: '2'
services:
webserver:
image: redmine:3.2.3
ports:
- "3001:3000"
links:
- database:postgres
database:
image: postgres:9.5.1
ports:
- "6543:5432"
environment:
- POSTGRES_PASSWORD="secret"
- POSTGRES_USER="redmine"
随着码头工人组成了管理平台服务器可以正常启动,但它忽略了Postgres数据库容器和使用内部SQLite数据库来代替。
我也试着在web服务器配置以下环境:
environment:
- POSTGRES_PORT_5432_TCP="5432"
- POSTGRES_ENV_POSTGRES_USER="redmine"
- POSTGRES_ENV_POSTGRES_PASSWORD="secret"
但没有成功。这一次的管理平台容器完全不启动,并显示以下错误消息:
[!] There was an error parsing `Gemfile`: (<unknown>): did not find expected key while parsing a block mapping at line 2 column 3. Bundler cannot continue.
# from /usr/src/redmine/Gemfile:64
# -------------------------------------------
# if File.exist?(database_file)
> database_config = YAML::load(ERB.new(IO.read(database_file)).result)
# adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
# -------------------------------------------
“困难”?什么样的困难?你有什么错误信息? – VonC
我会检查的第一件事是确保容器确实启动完毕,并且不会退出。 docker ps -a是你的容器运行吗? –
对不起,我忘了指定容器正确启动,但忽略数据库contaiener。我刚刚将它添加到原始帖子。 – Sakr