2016-08-19 10 views
0

ログを確認するのにdocker logs -f mycontainerを使用しています。 mycontainerdocker rm -f mycontainerからdocker run -d --name mycontainerに再起動した場合は、Ctrl-Cを使用して、docker logsコマンドを再実行してログを取得する必要があります。コンテナを再起動した後でもログを受け取る良い方法があるのだろうかと思います。あなたのコンテナを停止していないドッカーログ-fコンテナの再起動後

+0

技術的には、コンテナを再起動していません。あなたはそれを破壊して、同じ名前の新しいものを作成しています。再起動すると 'docker stop mycontainer;が実行されます。 docker start mycontainer'または単に 'docker restart mycontainer'を実行します。 – jwodder

答えて

0

2物事docker rm -f mycontainer

は、あなたがして、あなたがdocker stop mycontainerを使用して起動することができます

後に新しい別のブランドを開始したり、単にdocker restart mycontainerログを保持するために、それを殺しています。

コンテナにはステートレスなため、コンテナを削除するとログが失われます。その場合、アプリケーションログを書き込む場所でボリュームを使用する必要があります。彼らはあなたのコンテナの代わりにホストにいます。

0

他のコメント欄に記載されているように、「rm」コマンドはコンテナを破棄して再起動しません。

しかし、あなたはこのような何か使用することができ、あなたの質問に答えるために:ドッカログコマンド

watch -n 0 "docker logs mycontainer" 

を停止したコンテナの稼働を維持しませんが、あなたは「見て」コマンドを使用して同様の効果を得ることができます。 Dockerコマンドではないので、コンテナが実行中であるかどうかは気にしません。

Macをお使いの場合は、時計がない可能性があります。それはピップを使用してインストールすることができます。 1つのライナーのbashスクリプトでも同じことが達成できますが、私はもっときれいであるように見ています。

関連する問題