ホームページ > ウェブフロントエンド > jsチュートリアル > Next.js アプリを Docker 化する方法: ステップバイステップ ガイド

Next.js アプリを Docker 化する方法: ステップバイステップ ガイド

DDD
リリース: 2025-01-24 00:35:10
オリジナル
619 人が閲覧しました

このブログ投稿では、Docker と Docker Compose を使用して Next.js アプリケーションをコンテナ化する方法を説明します。 Dockerfile.dockerignore ファイル (明示的には示されていませんが、暗黙的に示されています) の作成、および効率的な開発とデプロイメントのための docker-compose.yml の構成について説明します。これにより、すべての段階で一貫した環境が確保されます。


ステップ 1: Next.js プロジェクトのセットアップ

まず、新しい Next.js アプリケーションを作成します。

<code class="language-bash">npx create-next-app@latest my-next-app</code>
ログイン後にコピー

"my-next-app" を希望のプロジェクト名に置き換えます。これにより、基本的な Next.js プロジェクトが生成されます。


ステップ 2: Docker の初期化

プロジェクト ディレクトリに移動し、Docker を初期化します。 元の手順では docker init が推奨されていますが、このコマンドは標準ではありません。 代わりに、必要なファイルを手動で作成します。 これにより、より詳細な制御が可能になり、非標準コマンドによる潜在的な問題が回避されます。


結果のプロジェクト構造は次のようになります:

How to Dockerize Your Next.js App: A Step-by-Step Guide


ステップ 3: スタンドアロン ビルド用に Next.js を最適化する

next.config.ts (または next.config.js) を変更してスタンドアロン ビルドを生成します:

<code class="language-typescript">import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  output: 'standalone',
}

export default nextConfig</code>
ログイン後にコピー

これにより、自己完結型アプリケーションを作成することにより、展開が簡素化されます。


ステップ 4: Dockerfile をビルドする

次の内容を含む Dockerfile をプロジェクト ルートに作成します。

<code class="language-dockerfile">FROM node:20-alpine

WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "run", "dev"]</code>
ログイン後にコピー

これは、Node.js 20 Alpine イメージを使用し、依存関係をインストールし、アプリケーション コードをコピーし、ポート 3000 を公開し、開発サーバーを起動します。


ステップ 5: docker-compose.yml の構成

プロジェクトのルートに docker-compose.yml ファイルを作成します:

<code class="language-yaml">version: "3.9"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development</code>
ログイン後にコピー

これは、現在のディレクトリからイメージを構築し、ポート 3000 をマップし、webNODE_ENV に設定する development という名前のサービスを定義します。

以下を使用してアプリケーションを起動します:

<code class="language-bash">docker-compose up</code>
ログイン後にコピー

How to Dockerize Your Next.js App: A Step-by-Step Guide


結論

この合理化されたアプローチでは、標準の Docker コマンドとベスト プラクティスを使用して Next.js アプリをコンテナ化し、デプロイを簡素化し、環境間での一貫性を確保します。 "my-next-app" を実際のプロジェクト名に置き換えることを忘れないでください。

以上がNext.js アプリを Docker 化する方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート