同じプロジェクトで開発している方から教えてもらったので、メモします。
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は非推奨となりました。
記事の中から、本記事に関連する重要な部分だけ抜粋します。
要点だけお伝えすると、今後は 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教科書」から、時が止まっていることに気づきました。
今はDocker関連の知識をアップデートするために、良さげな本またはサイトを探し中です。