DockerfileとDockerfile.productionを更新し、ビルドステージを追加。devDependenciesを含む依存パッケージのインストールを分離。

This commit is contained in:
ntki72 2025-01-03 23:18:51 +09:00
parent 01e7a93cac
commit c295dc1fda
2 changed files with 22 additions and 22 deletions

View File

@ -1,32 +1,17 @@
# ビルドステージ FROM node:22.12.0-alpine
FROM node:22.12.0-alpine AS builder
WORKDIR /app WORKDIR /app
# パッケージファイルをコピーしてインストール # パッケージファイルをコピーしてインストール
COPY package*.json ./ COPY package*.json ./
# devDependencies を含むすべての依存パッケージをインストール
RUN npm install RUN npm install
# ソースコードをコピーして TypeScript でビルド # ソースコードをコピーしてビルド
COPY . . COPY . .
RUN npm run build 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 COPY wait-for-it.sh /wait-for-it.sh
RUN chmod +x /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"] CMD ["/bin/sh", "/wait-for-it.sh", "db", "3306", "--", "npm", "run", "start"]

View File

@ -1,17 +1,32 @@
FROM node:22.12.0-alpine # ビルドステージ
FROM node:22.12.0-alpine AS builder
WORKDIR /app WORKDIR /app
# パッケージファイルをコピーしてインストール # パッケージファイルをコピーしてインストール
COPY package*.json ./ COPY package*.json ./
RUN npm install --production
# ソースコードをコピーしてビルド # devDependencies を含むすべての依存パッケージをインストール
RUN npm install
# ソースコードをコピーして TypeScript でビルド
COPY . . COPY . .
RUN npm run build 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 COPY wait-for-it.sh /wait-for-it.sh
RUN chmod +x /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"] CMD ["/bin/sh", "/wait-for-it.sh", "db", "3306", "--", "npm", "run", "start"]