创建一个docker容器,5173 运行vue前端项目, 5174 运行nodejs后端服务。
时间: 2024-11-05 08:32:43 浏览: 51
Vue+NodeJS前后端分离项目Docker部署1
创建Docker容器来分别运行Vue前端项目和Node.js后端服务可以分为几个步骤:
1. **为Vue项目创建Dockerfile**: 在Vue项目的根目录下创建一个名为 `Dockerfile` 的文件。内容通常如下:
```Dockerfile
# 使用官方vue image作为基础镜像
FROM node:16-alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD ["npm", "run", "serve"]
# 对于生产环境部署,可以使用下面这行代替上面的CMD
# CMD ["npm", "run", "build" , "--", "--mode", "production"]
```
然后,你可以通过 `docker build -t vue-app .` 来构建镜像。
2. **为Node.js服务创建Dockerfile**:
同样地,在Node.js服务的目录下创建一个 `Dockerfile`,示例如下:
```Dockerfile
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5000
CMD ["node", "server.js"]
```
构建命令为 `docker build -t node-backend .`
3. **运行容器**: 使用以下命令分别运行两个服务:
- Vue前端: `docker run -p 5173:8080 --name vue-app -d vue-app`
- Node.js后端: `docker run -p 5174:5000 --name node-backend -d node-backend`
`-p` 参数用于端口映射,将主机的5173端口映射到容器内的8080端口(Vue应用),5174端口映射到5000端口(Node.js服务)。
阅读全文