言いたいこと

開発環境だったらdocker-composeじゃなくてdocker compose使おう。


Docker Compose CLIとは

実はDocker Composeが昨年末リリースのDocker Desktop 3.0.0からDocker Compose CLIとしてdockerコマンドに統合されていた。

単に既存のdocker-composeコマンドが統合されたのではなく、別ツールとしてGoで再実装されたものが統合された。

もともとDocker ComposeはPythonで実装されていたが、Goで実装されているDocker自体やその周辺エコシステムの資産を活かす狙いがあったらしい。

また、Goにしたことで実行速度や並列度の上昇が得られ、加えて標準でbuildkitを使うようになったことでイメージビルド時のパフォーマンスも改善している。

基本的な使い方やオプションは変わらず、docker-composeの代わりにdocker composeと打てばよいだけだ。docker compose upみたいな感じですぐに使い始められる。

2021/05/02時点で既存のDocker Composeとの互換性もほとんど取れている。1

Docker Compose CLIで新たに追加されたサブコマンドもある。今のところ以下の2つが実装されていた。

  • 起動してるプロジェクトを列挙するdocker compose ls
  • 設定ファイルdocker-compose.ymlのフォーマットを変換したり値を取り出したりできるdocker compose convert

使用感

体感で分かるくらい起動が速い。今のところハマりどころもなくすぐに移行できた。

まだExperimentalだが、多くの人が開発環境で使ってそうだし、とりあえずササッと移行することをおすすめする。