Docker Compose の概要

Docker 中級

Mike Metzger

Data Engineering Consultant

Docker Compose とは

  • Docker の追加CLIツール
  • 複数コンテナのアプリを定義・管理
  • コンテナ、ネットワーク、ボリュームを1つのファイルで指定
    • compose.yml または compose.yaml
    • 旧形式は docker-compose.yaml の場合あり
  • 共有やデモが容易
Docker 中級

compose.yaml の例

# サービスを定義
services:

# コンテナ(名前)を定義 webapp: image: "webapp"
# 任意でポート転送を定義 ports: - "8000:5000"
# ほかに必要なコンテナを定義 redis: image: "redis:alpine"
Docker 中級

アプリケーションの起動

  • docker compose up
    • 旧環境では docker-compose up
    • docker compose -f <yaml> up
    • docker compose up -d
$ docker compose up

[+] Running 2/0 ✔ Network composetest_default Created ✔ Container composetest-redis-1 Created 0.0s ✔ Container composetest-web-1 Created 0.0s Attaching to redis-1, web-1 redis-1 | 1:C 11 Mar 2024 04:09:51.754 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo web-1 | * Serving Flask app 'app.py' web-1 | * Running on http://127.0.0.1:5000
Docker 中級

アプリケーションの状態確認

  • docker compose ls
$ docker compose ls

NAME STATUS CONFIG FILES webapp running(2) /webapp/docker-compose.yml
Docker 中級

アプリケーションの停止

  • docker compose down
    • docker-compose down
    • docker compose -f <yaml> down
$ docker compose down

[+] Running 3/3 ✔ Container composetest-redis-1 Removed 0.1s ✔ Container composetest-web-1 Removed 10.1s ✔ Network composetest_default Removed 0.1s
Docker 中級

演習に進みましょう!

Docker 中級

Preparing Video For Download...