本章はDocker Composeについて説明します。
😎 Docker Composeとは
Docker Composeは複数のコンテナのあるサービスを構築・実行する手順を管理し、自動化するための機能です。
Docker Composeの設定はdocker-compose.yml
に定義します。
🏈 Docker Composeファイルの仕様
以下はDocker Composeファイルで定義できる設定の一覧です。
詳細は「Compose ファイル・リファレンス」を参照。
設定キー | 説明 |
---|---|
build |
構築時に適用するオプションの指定 |
command |
デフォルトのコマンドを上書きします |
container_name |
独自のコンテナ名を指定します |
dockerfile |
コンテナを作るためのDockefileの指定 |
depends_on |
サービス間の依存関係の指定 |
env_file |
ファイル上の定義から環境変数を指定 |
environment |
環境変数を追加 |
expose |
リンクされたサービス間でのみアクセス可能 |
extra_hosts |
コンテナ内の/etc/hosts にIPアドレスとホスト名を追加(--add-host と同様) |
image |
コンテナの元となるイメージを指定 |
links |
リンク先に追加するとそのサービスにアクセスできます |
logging |
サービスに対してログ記録の設定 |
volumes |
ホスト側のディレクトリをホスト側にマウント(例:.:/app ) |
volumes_from |
他コンテナのボリュームをマウント。ro は読み込み専用、rw は読み書き |
🐹 Composeファイルの環境変数での指定: COMPOSE_FILE
環境変数COMPOSE_FILE
でComposeファイルのファイル名を指定できます。
export COMPOSE_FILE=docker-compose.development.yml |
🗽 参考リンク
- Compose ファイル・リファレンス — Docker-docs-ja ドキュメント
- docker-compose.ymlが環境別に複数ある場合はCOMPOSE_FILEを定義しておくと幸せになれる