Dockerfileを更新し、ビルドステージを追加。devDependenciesを含む依存パッケージのインストールと本番用の依存パッケージのインストールを分離。
This commit is contained in:
parent
fd0c5d5065
commit
01e7a93cac
21
Dockerfile
21
Dockerfile
@ -1,17 +1,32 @@
|
||||
FROM node:22.12.0-alpine
|
||||
# ビルドステージ
|
||||
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 --from=builder /app/dist ./dist
|
||||
|
||||
COPY wait-for-it.sh /wait-for-it.sh
|
||||
RUN chmod +x /wait-for-it.sh
|
||||
|
||||
# シェルスクリプトを使って、MySQL サーバーの起動を待機
|
||||
# MySQL サーバーの起動を待機してアプリを起動
|
||||
CMD ["/bin/sh", "/wait-for-it.sh", "db", "3306", "--", "npm", "run", "start"]
|
||||
|
Loading…
Reference in New Issue
Block a user