Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

docker run hoge && tail -f hoge.logでゾンビコンテナになる

More than 1 year has passed since last update.

概要

dockerコンテナを永続化する方法としてRUNコマンドにhoge & tail -f hoge.logのようにしているならば要注意です!
場合によってはゾンビコンテナになります!
なぜそうなるのかというと、メインプロセス(フォアグラウンドプロセスでも)が異常終了してもtailコマンドが正常である限り、そのまま稼働し続けるからです!
restart policyが定義されていても期待した動作にならないでしょう!

検証方法

例として、RUNコマンドでhoge && tail -f hoge.logが定義されているとする。
hogeプロセスをkillしてみてください!
tail -f hoge.log だけを実行するゾンビコンテナの出来上がりです!

対策法

監視システムが導入されているならば、メインプロセスの状態を監視して異常時に自動起動するような仕組みを導入する。
他にいい方法があればご教授ください!

comefigo
自社クラウドサービスの開発・運用をやっています。 ここには日々のアウトプットを残したいと思います。 [Katacoda](https://www.katacoda.com/comefigo7)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away