建立一個 dockerFile

透過這個 nextjs 專案進行練習建立 https://nextjs.org/learn/dashboard-app/getting-started

建立一個 dockerFile 在根目錄

FROM node:22.0.0

# 設定工作目錄
WORKDIR /app

# 複製 package 檔案並安裝套件
COPY package.json ./
RUN npm install

# 複製所有程式碼(實際開發會用 volume 覆蓋)
COPY . .

# 開放開發伺服器 port
EXPOSE 3000

# 啟動開發模式,支援 hot reload
CMD ["npm", "run", "dev"]

並添加 dockerignore 不添加的話在 docker build 時會出錯

node_modules/

跑 build

docker build -t nextjs-learn .

完成後跑 run

docker run  --name nextjs-learn -p 3000:3000 nextjs-learn

這樣就可以在 localhost:3000 看見網站了

連結 postgres

執行

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

並將 postgres url 改寫成

postgresql://postgres:mysecretpassword@localhost:5432/postgres

這樣從外面啟動 dev 就可以連接到 docker 中的 postgres

Last updated