ほげほげ

プログラミング、英会話、ヨガ、料理などの備忘録など。

Docker Compose について

Docker Composeについて

Composeは複数コンテナのDockerアプリケーションを定義、実行するツール。 Docker fileで設定し、コマンド一つでアプリケーションを開始することができる。

開発、テスト、ステージング環境のようなCIワークフローに有用。

使い方

大きく3ステップ。

  1. Dockerfile でアプリの環境を定義する。これによりどこでも再構築できる。
  2. docker-compose.ymlにサービスを定義する。1つの独立した環境に必要なコンテナが同時に実行することができる。
  3. docker-compose up コマンドを実行する。環境が構築され使用できる。

docker-compose.yml例

# バージョン
version: '2'

# サービスの定義(コンテナ)
services:
  # webという名前のコンテナ
  web:
    build: . # カレントディレクトリの Dockerfile から生成
    ports: 
    - "5000:5000" # 5000ポートを5000ポートにフォワード
    volumes:
    - .:/code # カレントディレクトリをコンテナの/codeにマウント
    - logvolume01:/var/log 
    links:
    - redis # redisコンテナにリンク

  # redisという名前のコンテナ
  redis: 
    image: redis # redisイメージから生成

volumes:
  logvolume01: {}

services には 必要なコンテナ が定義される。

参考

https://docs.docker.com/compose/overview/