Docker Composeは、複数のDockerコンテナを簡単に管理・起動できるツールです。
簡単なプロジェクトでDocker Composeを利用してみます。
プロジェクトのセットアップ
まずは、作業ディレクトリを作成します。
mkdir docker-compose-hello-world
cd docker-compose-hello-world
次に、以下の2つのファイルを作成します。
簡単なFlaskアプリケーションの作成
以下のような app.py
という名前のファイルを作成します。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
requirements.txt
には以下のように記述します。
flask
Dockerfileの作成
# ベースイメージとしてPythonを指定
FROM python:3.9-slim
# 作業ディレクトリを設定
WORKDIR /app
# 必要なファイルをコピー
COPY requirements.txt requirements.txt
COPY app.py app.py
# 依存パッケージをインストール
RUN pip install -r requirements.txt
# アプリケーションを起動
CMD ["python", "app.py"]
Docker Composeの設定ファイルを作成
複数のコンテナを定義するためにcompose.yaml
ファイルを作成します。
version: "3.8"
services:
web:
build:
context: .
ports:
- "5000:5000"
アプリケーションの起動
以下のコマンドで、Docker Composeを使用してアプリケーションを起動します。
docker compose up
アプリケーションの確認
ブラウザで以下のURLにアクセスしてください。
「Hello, World!」と表示されれば成功です。