導入
docker compose は、複数のコンテナ(サービス)の構成を docker-compose.yml という1枚のYAMLファイルにまとめて書き、docker compose up の一発でまとめて立ち上げる仕組みです。docker run を何回も打つ代わりに、構成をファイルとして残せます。
説明
この作業ディレクトリには、すでにサンプルの docker-compose.yml があります。cat docker-compose.yml で見てみましょう。
services:
web:
build: .
ports:
- "3000:3000"
cache:
image: redis:alpine
services:の下に、コンテナ1つ1つを名前付きで並べる(ここではwebとcache)。build: .:この場所の Dockerfile からイメージをビルドして使う。image: redis:alpine:既存イメージをそのまま使う。ports::docker run -pと同じポート公開の設定。
docker run の長いオプションを毎回手で打つ代わりに、こうしてファイルに書いておけば、誰でも同じ構成を再現できます。
やってみよう
- 下の端末で
cat docker-compose.ymlを実行して、webとcacheの2サービスが定義されていることを確認しましょう。