# 使用 Docker-Compose 部署 Next.js 應用程式  將 Next.js 應用程式容器化是一種高效的開發方式,因為它提供了更具隔離性和可重現的環境。 在部屬的時候可以省下一些重複的工作。 在本篇文章中,我將介紹如何使用 Docker 和 Docker-Compose 快速建立與執行 Next.js 應用程式。 讓我們一步步實作,從建立專案到成功啟動。 --- ## 1. 建立 Next.js 專案 首先,我們需要建立一個 Next.js 應用程式。執行以下指令: ```bash npx create-next-app docker-next ``` 執行完畢後,將會建立一個名為 `docker-next` 的資料夾。   進入該資料夾: ```bash cd docker-next ``` --- ## 2. 建立 Dockerfile 在 `docker-next` 資料夾中,新增一個名為 `Dockerfile` 的檔案,並填入以下內容: ```dockerfile FROM node:20 WORKDIR /app COPY package.json ./ RUN npm install COPY . . CMD ["npm", "run", "dev"] ``` > **注意:** 如果你使用不同版本的 Node.js,請將 `FROM node:20` 替換為對應版本。 --- ## 3. 建立 Docker Image 並執行容器 ### 建立 Docker Image 執行以下指令建立 Image: ```bash docker build -t docker-next . ``` ### 執行容器 使用以下指令運行容器: ```bash docker run docker-next -p 3000:3000 -v /app/node_modules -v .:/app ``` - `-p 3000:3000`:將容器內的 3000 埠對應到主機的 3000 埠。 - `-v .:/app`:將當前目錄映射到容器內的 `/app` 目錄。 完成後,可透過瀏覽器訪問 [http://localhost:3000](http://localhost:3000) 查看效果。 --- ## 4. 設定 Docker-Compose 為了簡化操作,可以使用 Docker-Compose 管理服務。建立一個 `docker-compose.yml` 檔案,內容如下: ```yaml services: app: build: context: . dockerfile: Dockerfile container_name: docker-next ports: - '3000:3000' volumes: - .:/app - /app/node_modules ``` --- ## 5. 使用 Docker-Compose 啟動專案 執行以下指令啟動專案: ```bash docker-compose up ``` 執行後,終端機會顯示成功啟用的訊息。此時,打開瀏覽器並輸入 [http://localhost:3000](http://localhost:3000),應該可以看到預設的 Next.js 頁面。   >成功啟用的畫面 --- ## 6. 使用 Docker Desktop 驗證容器狀態(可選) 如果你使用 Docker Desktop,可以在應用程式中檢查容器的執行狀態,確認服務是否正常啟動。  --- ## 總結 今天整理的文章步驟如下 - **建立專案:** `npx create-next-app` - **撰寫 Dockerfile:** 定義運行環境與應用程式啟動方式。 - **建立與執行容器:** 使用 Docker 指令啟動 Next.js。 - **簡化部署:** 配置 Docker-Compose,自動化服務管理。 這篇文章適合初學者,也可以作為日後快速部署 Next.js 的參考。如果有任何問題或建議,歡迎在留言區與我交流! 😊 --- ###### tags: `更新上部落格`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up