# ビルドステージ FROM node:22.12.0-alpine AS builder WORKDIR /app # パッケージファイルをコピーしてインストール COPY package*.json ./ # devDependencies を含むすべての依存パッケージをインストール RUN npm install # ソースコードをコピーして TypeScript でビルド COPY . . RUN npm run build # 本番ステージ FROM node:22.12.0-alpine WORKDIR /app # パッケージファイルをコピーしてインストール(本番用) COPY package*.json ./ RUN npm install --production # ソースコードをコピー COPY . . # ビルド済みファイルをコピー COPY --from=builder /app/dist ./dist COPY wait-for-it.sh /wait-for-it.sh RUN chmod +x /wait-for-it.sh # MySQL サーバーの起動を待機してアプリを起動 CMD ["/bin/sh", "/wait-for-it.sh", "db", "3306", "--", "npm", "run", "start"]