概要
Docker Compose(ドッカー・コンポーズ)とは、
複数のDockerコンテナをまとめて管理・起動できるツールです。
通常、アプリケーションは1つのコンテナだけではなく、
Webサーバー、データベースなど複数のサービスを連携させて動かす必要があります。
Docker Composeを使えば、それらを一括で設定し、一発で立ち上げることができます。
正式名称
Docker Compose(ドッカー・コンポーズ)
「Compose」は「構成する、組み立てる」という意味の英単語。
略称
Compose(コンポーズ)
会話やドキュメント内では「Compose」と省略されることがある。
特徴
- 複数コンテナの管理を簡単に:Webアプリ + DB など、複数のサービスを一括で管理
- YAML形式で設定:
compose.yml
ファイルでサービスの内容を定義 - コマンド一発で起動・停止:
docker-compose up
やdocker-compose down
で操作 - 環境の再現性が高い:開発・テスト・本番で同じ設定を使える
- ボリュームやネットワークの自動設定:内部通信も簡単
- 依存関係の記述が可能:起動順序の制御もできる
具体例
例:Webアプリ(Node.js)+データベース(MongoDB)を立ち上げる設定
compose.yml
version: '3'
services:
web:
image: node:14
ports:
- "3000:3000"
volumes:
- .:/app
working_dir: /app
command: node index.js
depends_on:
- db
db:
image: mongo
ports:
- "27017:27017"
解説
この設定ファイルにより、Node.jsアプリとMongoDBが連携して動作します。コマンド一発で両方のサービスが起動します。
docker-compose up
関連用語
用語 | 解説 |
---|---|
Docker(ドッカー) | コンテナ型の仮想化技術。アプリを軽量に実行できる。 |
コンテナ | アプリとその実行環境をパッケージ化したもの。 |
YAML(ヤムル) | 人間に読みやすい設定ファイルフォーマット。 |
イメージ | コンテナを作る元となる設計図のようなもの。 |
サービス | Composeで定義された、1つの機能単位(例:Webサーバー、DBなど)。 |
ネットワーク | 複数のコンテナ間で通信するための仕組み。 |
ボリューム | データの永続化をするための領域。 |