本文へスキップ
BecomeCoder

Dockerコース · 第5章 docker compose で複数コンテナ · レッスン15

composeファイルとは ― 複数サービスを1枚で定義する

ブラウザで完結

導入

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つを名前付きで並べる(ここでは webcache)。
  • build: .:この場所の Dockerfile からイメージをビルドして使う。
  • image: redis:alpine:既存イメージをそのまま使う。
  • ports:docker run -p と同じポート公開の設定。

docker run の長いオプションを毎回手で打つ代わりに、こうしてファイルに書いておけば、誰でも同じ構成を再現できます。

やってみよう

  • 下の端末で cat docker-compose.yml を実行して、webcache の2サービスが定義されていることを確認しましょう。

実際に動かしてみよう

下の端末に docker コマンドを打って Enter を押すと、その場で結果が返ります。本文の手順を実際になぞりながら進めましょう(各レッスンは毎回まっさらな状態から始まり、「最初からやり直す」でいつでも戻せます)。

Docker(シミュレート)

ブラウザ内で docker コマンドを試せる学習用環境を読み込みます(本物のDockerではなく、動きを再現したものです)。
スクロールして表示された時点でも自動で読み込まれます。