Docker Composeメモ

docker-compose についてよく知らないのでメモ。
ざっくりは とほほ氏 とかも書いてあるのが簡単。

どんなコマンドだっけ

# 起動
docker-compose up -d 
    # -d でバックグラウンド化。 デーモンモードの d だと思ってたら、デタッチドモードだった…
    # -d つけないと、shell占有してログ出し続ける。これもありだし、後述 logs もあり

# 終了
docker-compose down 
    # -v で永続化ボリューム(ホスト側のフォルダ)内も削除。
    
# 強制終了
docker-compose kill # うまくdownしないとき


# shell(bash)にログイン
docker-compose exec [サービス名] bash
    # bashの代わりに別のコマンドを指定して実行もできる

# ログ
docker-compose logs [サービス名] -ft
    # -f は最新ログを表示(follow), -tはtimestamp表示


# 普段は使わなくてよさそう
start, stop, restart, pause, unpause, run


# コンテナ一覧
docker-compose ps # docker ps と同じだがcompose内コンテナのみ. 動いてるコンテナ一覧表示


docker-compose build # 再ビルド
    # --no-cache=true で yum が古いときなど
    

    

Up? Start? Run?

UPだけ使えば良くない?と思う。

RunはExecと似ていて、引数のコマンドを実行させる。違いはExecは立ち上がってるコンテナに対して実行するのに比べ、Runは常に新しいコンテナを作る。なのでバッチ的な処理や管理タスクのケースとかに向いてる(と思う)。

本番で使ってよいのか?

ちょっと前までは「docker-composeは本番に使うな」ってあったけど、FargateやECSとかでは普通に使うことになってるし、別に使ってもいいんじゃないでしょうか。

単一の実ホストで動かすには docker-compose, 復数の実ホストで巨大なオーケストレーションするにはkubernetes、と思ってます。
Fargateは仮想化されてるので実ホストとか無いけど、まぁ。

この記事が気に入ったらサポートをしてみませんか?