有勇气的牛排博客

docker构建前端express服务端项目

有勇气的牛排 1230 TypeScript 2021-08-20 01:18:02

1 前言

Express.js 是基于 Node.js 的快速、轻量级的 Web 应用框架,提供了简洁而灵活的 API,适合开发 Web 应用和 RESTful API。

但是在centos7系列中,很多库比较老旧,升级起来比较费事,导致高版本的nodejs安装比较困难,因此今天分享一篇docker启动nodejs项目的案例教程。

2 文件

2.1 Dockerfile

# 使用官方 Node.js LTS 版本作为基础镜像
FROM node:16

# 设置工作目录
WORKDIR /usr/src/app

# 复制 package.json 和 package-lock.json(如果存在)到工作目录
COPY package*.json ./

# 安装依赖
RUN npm install

# 将项目的所有文件复制到工作目录
COPY . .

# 暴露应用运行的端口(与 Express 项目中设置的端口一致)
EXPOSE 3000

# 启动应用
CMD ["npm", "start"]

2.2 package.json

{ "name": "express-app", "version": "1.0.0", "description": "有勇气的牛排,docker部署express框架测试", "main": "app.js", "scripts": { "start": "node app.js" }, "dependencies": { "express": "^4.21.1" } }

安装依赖

npm i

2.3 app.js

const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('有勇气的牛排,docker部署express框架测试'); }); const PORT = 3000; app.listen(PORT, () => { console.log(`服务端已启动 http://localhost:${PORT}`); });

启动项目测试

npm start

image.png

3 构建与运行容器

构建镜像

docker build -t express-server-test .

image.png

运行容器

docker run -it -p 3000:3000 express-server-test docker run -d -p 3000:3000 --name express-server-test express-server-test

image.png


留言

专栏
文章
加入群聊