2016-07-15 13 views
0

公式の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 

しかし、私はドッカーの作成と同じ設定を実行するのが難しいです。ここで私が使用された最初のドッキングウィンドウ-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" 

がドッキングウィンドウでRedmineのサーバが正常に起動しますが、それはPostgresデータベースコンテナを無視し、代わりに内部SQLiteデータベースを使用しています構成します。

私はまた、ウェブサーバの設定で、以下の環境で試してみた:

environment: 
    - POSTGRES_PORT_5432_TCP="5432" 
    - POSTGRES_ENV_POSTGRES_USER="redmine" 
    - POSTGRES_ENV_POSTGRES_PASSWORD="secret" 

しかし、成功しませんでした。この時間は、Redmineのコンテナはまったく起動し、次のエラーメッセージが表示されません:

ドッカ・コンバージョンから
[!] 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 
# ------------------------------------------- 
+0

"困難"?どのような困難がありますか?どのようなエラーメッセージがありますか? – VonC

+0

最初に確認するのは、コンテナが完全に開始し、終了しなかったことを確認することです。 'docker ps -a'はコンテナを実行していますか? –

+0

申し訳ありませんが、コンテナが正しく起動するよう指定するのを忘れてしまいましたが、データベースコンバイナは無視されます。私はちょうど元の投稿に追加しました。 – Sakr

答えて

0

2つのドキュメント:環境変数と

リンク:環境に記載したよう 変数リンクによって作成された環境変数は、しばらくの間、非推奨の でした。新しいDockerネットワークシステムでは、 が削除されました。あなたは リンクのホスト名を使用して、自分自身を適切な ホストに直接接続するか、関連する環境変数を設定する必要があり、次のいずれか

web: 
    links: 
    - db 
    environment: 
    - DB_PORT=tcp://db:5432 

をドッキングウィンドウ・コンVであなたの代わりにネットワークを使用する必要があります2。ドッカー内のすべてのサービスは、デフォルトで1つの一般的なネットワークで構成されます。あなたの設定では、ウェブサーバコンテナはリンクなしでdatabaseホストによってデータベースを解決できます。

+0

特定のネットワークであっても、 " - POSTGRES_PORT = tcp:// postgres:5432"のようなすべての環境変数を設定しても。データベースに接続できませんでした。 – Sakr

+0

Webサーバーからdbコンテナにpingを実行しようとしましたか? – Cortwave

+0

はい、私はその名前で手に入れることができました – Sakr

関連する問題