2016-10-21 7 views
2

AWS ECSタスク定義で動的に値を設定できますか?例えば。私は以下のボリューム定義を持っています。AWS ecsタスク定義変数

"volumes": [ 
    { 
     "host": { 
      "sourcePath": "/tmp/logs/registrations" 
     }, 
     "name": "logs" 
    } 
], 

/tmp/logs/<container_id>のようにします。

私は同じアプリケーションを実行している複数のコンテナを持っているため、これを実行しようとしています。私はsumologicコレクターのために各コンテナのログディレクトリをマウントする必要があります。問題は、ディレクトリがコンテナによって名前空間ではなく、マウントが競合している場合です。

答えて

2

ファイルシステムへの保存が必須でない場合、Cloudwatchログは別のオプションです。

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html

ます。また、ログ・グループやログを設定する必要があります:

あなたがECSを使用している場合は、それがすでに設定され、あなたがする必要があるすべては、コンテナのタスク定義でそれをオンですよAMIを最適化各コンテナのストリーム。

+0

これは私を正しい方向に動かしました。私はドッカーが提供する標準のjsonログを使用して終了しました。すべてがコンテナIDでグループ化されています。 – MikeV

1

ログをファイルシステムに保存するのは厳しい条件ですか?そうでない場合、Sumo Logicはもう1つのオプションについてかなり良い記事を持っています:Update On Logging With Docker

Sumo Logic Collector for Dockerを1つのコンテナに、アプリケーションを別のコンテナに実行します。アプリケーションコンテナからSumo Logicコレクタにログを送信するようにDockerを設定します。これはbuilt into Dockerなので、アプリケーションを変更する必要はありません。コレクタコンテナはそれらのログをSumo Logicに送信します。

他の例がある場合に備えて、sidecarというパターンがあります。

関連する問題