Newer
Older
WebAppTemplate / flask-react-app / docker-compose.yml
# docker-compose.yml
# FlaskとReactの両方のコンテナを定義

services:
  backend:
    # backend/Dockerfile を使ってイメージを作成
    build: ./backend

    # コンテナ名
    container_name: backend

    # ホスト(ローカル、自分のマシン)ポート6000 → コンテナポート6000(基本同じが良い
    ports:
      - "6000:6000"
    
    # ソースコードをコンテナ内の/appにマウント
    volumes:
      - ./backend:/app
    
    # 環境変数設定
    environment:
      - FLASK_ENV=development
      - FLASK_DEBUG=1
      - PORT=6000

    # Flask開発サーバ起動コマンド(ポート6000、開発モード)
    command: flask --app app.py run --host=0.0.0.0 --port=6000 --debug

  frontend:
    # frontend/Dockerfile を使ってイメージを作成
    build: ./frontend

    # コンテナ名
    container_name: frontend

    # ホスト(ローカル、自分のマシン)ポート5173 → コンテナポート5173(基本同じが良い)
    ports:
      - "5173:5173"
    
    # ソースコードをコンテナ内の/appにマウント
    volumes:
      - ./frontend:/app
      - /app/node_modules
    
    # 環境変数設定
    environment:
      - HOST=0.0.0.0
      - PORT=5173
      
    # React(Vite)開発サーバ起動コマンド(ポート5173、ホスト0.0.0.0)
    command: npm run dev -- --host 0.0.0.0 --port 5173

    # 他のコンテナ(backend)が起動してから起動するように設定
    depends_on:
      - backend