在Ubuntu系統中使用Docker進行Node.js應用程序的容器化部署是一個相對簡單的過程。以下是詳細的步驟:
安裝Docker: 確保你的Ubuntu系統上已經安裝了Docker。如果沒有安裝,可以通過以下命令進行安裝:
sudo apt update
sudo apt install docker.io
安裝完成后,可以通過以下命令檢查Docker版本:
docker --version
創建Node.js項目: 創建一個新的Node.js項目,并初始化npm包:
mkdir my-node-app
cd my-node-app
npm init -y
編寫應用代碼:
在項目根目錄下創建一個index.js文件,編寫簡單的Node.js應用代碼:
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, Docker!\n');
});
server.listen(3000, () => {
console.log('Server running on port 3000');
});
在項目根目錄下創建一個名為Dockerfile的文件,這個文件將包含構建Docker鏡像所需的所有指令:
# 使用官方Node.js運行時作為父鏡像
FROM node:14
# 設置工作目錄
WORKDIR /usr/src/app
# 復制package.json和package-lock.json文件到工作目錄
COPY package*.json ./
# 安裝項目依賴
RUN npm install
# 復制項目源代碼到工作目錄
COPY . .
# 暴露端口
EXPOSE 3000
# 啟動應用
CMD ["node", "index.js"]
在項目根目錄下,執行以下命令構建Docker鏡像:
docker build -t my-node-app .
構建完成后,您可以使用以下命令運行Docker容器:
docker run -d -p 3000:3000 --name my-node-app my-node-app
其中,-d表示在后臺運行,-p 3000:3000表示將容器的3000端口映射到宿主機的3000端口,--name my-node-app表示為容器設置名稱。
在瀏覽器中輸入http://localhost:3000,如果看到Node.js應用正常運行,說明您已經成功構建了Node.js環境。
docker run -d -e DB_PASSWORD=yourpassword -p 3000:3000 --name my-node-app my-node-app
config.json等配置文件中,并在應用中讀取這些文件:const config = require('./config.json');
console.log(config.db_password);
通過以上步驟,您可以在Ubuntu系統中成功使用Docker進行Node.js應用程序的容器化部署。