LoginSignup
1
2

More than 3 years have passed since last update.

docker-compose down しないと落ちたコンテナが残っているの嫌じゃない?

Posted at

前フリ

たまに docker system prune そして docker volume pruneするのが日課になっているdocker使いの人は多いんじゃないでしょうか。
私はそうです。
この一回一回はたいしたことないけど、めんどくさい作業をなくしましょう。

シグナルを捕まえて後処理する

ぶっちゃけそんだけです。

Ctrl+C した時のSIGINT、killした時のSIGTERM、プロセス再起動時のSIGHUPあたりを捕まえとけばいいんじゃないでしょうか。

start_docker.sh

#!/bin/sh

down() {
    echo "clean up containers..."

    docker-compose down
    docker volume prune #この辺はお好みで

    echo "done."
}

trap down HUP TERM INT;

echo "Start up containers (press Ctrl+C for stop) ..."

docker-compose up

trapで、SIGINT,SIGTERM,SIGHUPを捕まえてdown()で定義した後処理を実行します。

これ結構応用が効いて、docker-entrypoint.shの中でtrapしてやればコンテナが落ちた時の後処理もかけます。

ではよい trap docker ライフを。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2