このすみノート

Webエンジニアが技術や趣味を書くブログです。

docker-composeコマンドは、docker composeとも書ける

同じプロジェクトで開発している方から教えてもらったので、メモします。

Docker Composeとは

前提知識として、Docker Composeについて軽くおさらいします。 ざっくり一言で解説するなら、複数のDockerコンテナを、まとめて管理するための機能です。

Docker Composeは、複数のコンテナで構成されるアプリケーションについて、Dockerイメージのビルドや各コンテナの起動・停止などをより簡単に行えるようにするツールです。
引用: https://knowledge.sakura.ad.jp/16862/

docker-composeとdocker compose

DockerのComposeを使うとき、私は常に docker-compose コマンドを使ってました。

$ docker-compose up -d

ところが、これは docker compose とも書けるようになっています。 ハイフンがスペースになっただけですが、これが思ったより重要な違いであることが分かりました。

$ docker compose up -d

Compose V2から利用可能

docker compose は、2020年にリリースされた、Compose V2から使うことができます。

In mid-2020 Compose V2 was released. It merged Compose file format V2 and V3 and was written in Go.
...省略...
Compose V2 integrates compose functions into the Docker platform, continuing to support most of the previous docker-compose features and flags. You can run Compose V2 by replacing the hyphen (-) with a space, using docker compose, instead of docker-compose.
引用: https://docs.docker.com/compose/compose-v2/

docker-composeよりdocker compose

Docker Compose V2のGAまとめ記事が分りやすいですが、Compose V1は非推奨となりました。

qiita.com

記事の中から、本記事に関連する重要な部分だけ抜粋します。 要点だけお伝えすると、今後は docker-compose コマンドより、docker compose を使うほうが確実です。

具体的には、docker-compose コマンドの行く末に左右されないメリットがあります。

Compose V2 が一般提供開始(General Availability)と宣言されたため、従来の docker-compose による Compose V1 は「Deprecated」(廃止される可能性があるため、非推奨)の位置付けとなり、既に docker compose コマンドを使えば、自動的に Compose V2 を使う状態です。
EOL になった後は、docker-compose のエイリアスは維持されますが、Docker Desktop のユーザーインターフェスから V2 有効化・無効化の選択ができなくなります(必ず V2 を使うようになります)。
引用: https://qiita.com/zembutsu/items/d82b2ae1a511ebd6a350

あとがき

自分のDocker関連の知識が、5年前に読んだ「プログラマのためのDocker教科書」から、時が止まっていることに気づきました。

www.konosumi.net

今はDocker関連の知識をアップデートするために、良さげな本またはサイトを探し中です。