Docker Compose


本章は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
docker-compose config // docker-compose.development.ymlが読み込まれます

🐞 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)