使用 Docker 部署 Node.js 應(yīng)用實(shí)戰(zhàn)教程
一、簡介
Docker 是一種用于開發(fā)、交付和運(yùn)行應(yīng)用程序的開放平臺(tái)。Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行時(shí),廣泛用于構(gòu)建快速、可擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。在本教程中,我們將介紹如何使用 Docker 部署一個(gè)簡單的Node.js應(yīng)用。
二、環(huán)境準(zhǔn)備
1. 安裝 Docker
在 Ubuntu 系統(tǒng)上安裝 Docker:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
2. 啟動(dòng)并驗(yàn)證 Docker 服務(wù)
3. sudo systemctl start docker
4. sudo systemctl enable docker
三、創(chuàng)建Node.js應(yīng)用
1. 創(chuàng)建項(xiàng)目目錄
2. mkdir my-node-app
3. cd my-node-app
4. 初始化Node.js項(xiàng)目
npm init -y
5. 安裝 Express 框架
npm install express
6. 編寫應(yīng)用代碼
創(chuàng)建一個(gè) app.js 文件,內(nèi)容如下:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, Docker!');
});
app.listen(port, () => {
console.log(`App running at http://www.tjdsmy.cn:${port}`);
});
四、創(chuàng)建 Dockerfile
在項(xiàng)目根目錄下創(chuàng)建一個(gè) Dockerfile 文件,內(nèi)容如下:
# 使用官方的 Node.js 運(yùn)行時(shí)作為基礎(chǔ)鏡像
FROM node:14
# 創(chuàng)建應(yīng)用目錄
WORKDIR /usr/src/app
# 安裝應(yīng)用依賴
COPY package*.json ./
RUN npm install
# 復(fù)制應(yīng)用代碼
COPY . .
# 對(duì)外暴露端口
EXPOSE 3000
# 啟動(dòng)應(yīng)用
CMD ["node", "app.js"]
五、構(gòu)建 Docker 鏡像
使用以下命令構(gòu)建 Docker 鏡像:
docker build -t my-node-app .
六、運(yùn)行 Docker 容器
使用以下命令運(yùn)行容器:
docker run -p 3000:3000 -d my-node-app
七、驗(yàn)證應(yīng)用
1. 檢查容器狀態(tài)
2. docker ps
3. 訪問應(yīng)用
在瀏覽器中訪問 http://www.tjdsmy.cn:3000,你應(yīng)該能夠看到 “Hello, Docker!” 的信息。
八、推送 Docker 鏡像到 Docker Hub
1. 登錄 Docker Hub
2. docker login
3. 標(biāo)記并推送鏡像
4. docker tag my-node-app your_dockerhub_username/my-node-app
5. docker push your_dockerhub_username/my-node-app