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は仮想化されてるので実ホストとか無いけど、まぁ。
この記事が気に入ったらサポートをしてみませんか?