アプリに合ったDockerfileの作り方。
Dockerfile 草案はアプリの実行環境とビルド手順に合わせます。依存関係のインストール、公開予定ポート、イメージに入るファイルを確認してください。
作業手順をタスクに合わせましょう。
実行環境、ビルド成果物、起動コマンドを指定し、必要なファイルだけを含むイメージを下書きします。依存関係の導入、ユーザーとポートの前提を確認し、想定環境でビルドをテストしてください。
- 用意するもの
- アプリの技術構成とデプロイ要件。
- 得られるもの
- 依存関係と前提を含む Dockerfile 草案。
入力と結果を確認しましょう。
説明用の入力と出力 · 実際の WebAct 実行ではない学習用サンプル
入力項目サンプル個
Draft a Dockerfile for a plain Node 24 service with package-lock.json, npm start, no build step, port 3000 and server binding to 0.0.0.0. Only source file is server.js; runtime needs no filesystem writes.
完成例
FROM node:24-alpine WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev COPY server.js ./server.js ENV NODE_ENV=production USER node EXPOSE 3000 CMD ["npm", "start"] Build and test in your environment. Only the declared runtime files enter this image. EXPOSE documents the port; publish it explicitly when running the container. A production release should pin a reviewed image digest.
この入力をプロンプトに読み込み、WebAct にコピーして試してください。結果は掲載例と異なる場合があります。
判断のポイントとトラブル対処。
EXPOSE はコンテナのポートを自動公開しますか?
意図したポートを記述するだけで、実際の公開はコンテナ実行時に設定します。イメージと実行時の設定を区別してください。
コンテナは起動しても接続できないのはなぜですか?
アプリのバインドアドレス、実際の待受ポート、実行時のポート割り当てを確認してください。正しい Dockerfile でも実行時のすべての不整合は補えません。
自分の資料で試しましょう。
タスクのプロンプト内の例を自分の資料に置き換えてください。必要な要件を残し、タスクを WebAct にコピーします。
タスクを調整してコピー ↑