O'reilly の Docker本で logspout と logstash の連携に失敗する件

最近、遅ればせながら Docker をちゃんと勉強しようと O'reilly の Docker本を読んでいます。

 

サンプルなども写経しながら動作確認しつつ進めていると、「10章 ロギングとモニタリング」のサンプルコードが上手く動かなくてハマりました。

 

logspout と logstash のコンテナを立ち上げ、logspout から logstash://logstash:5000 にログを流すのですが、logstash 側の listener が開始する前に logspout からコネクションを貼ろうとして「write: connection refused」とエラーになり logspout コンテナが終了してしまいます。

 

いろいろ調べると、結構同じエラーに悩んでいる人はいるようで、logspout の方で解決されているようですが、本に書いてある amouat/logspout-logstash イメージでは反映さていないのかな?

github.com

 

logspout コンテナの環境変数で「RETRY_SEND」や「RETRY_STARTUP」を指定すると RETRY できるイメージもあるようです。

github.com

 

ちなみに、この本、単に Docker の使い方だけではなく、マイクロサービス の哲学や関連するメジャーなプロダクトの情報なども学ぶことができ、非常におもしろくためになる本です。

 

おすすめします!