2016-12-28 18 views
1

私の生産環境ではproduction.rbです。私は(コマンドラインrails s -e productionを使用してサーバを起動する)ローカルで実行するとドッカー環境のログにファイルが保存されません

config.logger = Logger.new('log/production.log') 

:私は私のログをファイルに保存されます設定されています。すべて正常に動作します。しかし、私がドッカー環境で動くと、production.logが表示されません。

この問題について教えてください。

答えて

2

production.logが印刷されません。

どこを探していますか?あなたのホストまたはあなたが走っているドッカーのコンテナに?

デフォルトでは、ファイルはコンテナファイルシステムに作成されます。
ホストから直接(ドッカーデーモンを実行して)表示したい場合は、まずmount an host directory as a data volumeが必要です。

docker run -d -P --name myapp -v /a/local/host/path:/path/to/log/in/container myimage 

次に、あなたは/a/local/host/pathproduction.logを見るでしょう。

+0

ホストにない私のコンテナを調べました。ログファイルと同じディレクトリにソースコードを入れます。 –

+0

@TrầnKimDựあなたのコンテナをどうやってチェックインしましたか?あなたはdocket exec -it mycontainer bashをやったのですか? (http://stackoverflow.com/a/31580097/6309) – VonC

+0

はい。それは本当だ。そのコマンドを実行して、コンテナのディレクトリアプリに入ります。 –

関連する問題