建立一個 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