0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker Compose V1とV2違いは?

Last updated at Posted at 2025-01-29

はじめに

何度かお世話になっているDockerの参考書「プログラマのためのDocker教科書 第2版」を見ていた際に、Docker Composeを起動する方法として「docker-compose」というエイリアス名が使用されていることに違和感を感じた(普段はdocker composeコマンドを使っている)ので調べてみました。

docker composeとは

Compose とは、複数のコンテナを定義し実行する Docker アプリケーションのためのツールです。Compose は YAML ファイルを使い、アプリケーションのサービスを設定します。コマンドを1つ実行するだけで、設定内容に基づいた全てのサービスを生成・起動します。

要約すると複数のDockerコンテナを一括で管理できるのが「docker compose」です。

docker-composeとdocker composeのコマンドの違い

この違いはバージョン変更に伴うコマンド名の変更があるようです。
具体的には、Docker Compose V1が2023年6月にEOLし、その移行先としてDocker Compose V2が実装されたからみたいです。 参考:Docker blog

Docker Compose V1コマンドを利用する場合、別途インストールが必要でしたが、Docker Compose V2ではプラグインとしてデフォルトでDockerに組み込まれています。以前のバージョンでも、compose-pluginをインストールすれば利用可能。

V1とV2の変更点

インストール方法: V1はPythonで実装されており、Pythonの仮想環境にインストールする必要がありました。V2はGoで実装されており、Docker本体に統合されています。

パフォーマンス: V2はGoで実装されているため、V1に比べて高速で効率的です。

コマンド形式: V1ではdocker-composeコマンドを使用しましたが、V2ではdocker composeとスペースを含む形式になりました。

yamlファイルの記述: 基本的v1で作成したdocker-compose.yamlはV2でも流用可能ですが、一部コマンドが利用できなかったり非推奨などにもなっている。V1で書かれているyamlを流用する際は注意が必要そうです。

あとがき

何となくで使っていたDocker Composeでしたが、v1とv2でのパフォーマンス違いや
推奨設定違いなど全然知識がアップデートできていなかったことに気づきました。
これを機会に最新のDockerに関して勉強しなおして行こうと思います。(おすすめの参考書などあれば是非ご教授ください。)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?