auto-deploy-demo/deploy/Dockerfile.nginx

36 lines
724 B
Docker
Raw Normal View History

# Docker部署 - Nginx动态路由模式
# 所有项目通过同一个端口访问,通过路径区分
FROM node:18-alpine
# 安装Nginx
RUN apk add --no-cache nginx
WORKDIR /app
# 复制package文件并安装依赖
COPY package*.json ./
RUN npm install --production
# 复制后端代码
COPY server ./server
# 复制前端构建产物
COPY client/dist ./client/dist
# 创建必要的目录
RUN mkdir -p /app/data /app/projects /app/nginx/sites-enabled /run/nginx
# 复制Nginx配置模板
COPY server/templates ./server/templates
# 复制启动脚本
COPY deploy/start-nginx.sh /start-nginx.sh
RUN chmod +x /start-nginx.sh
# 只暴露一个端口
EXPOSE 80
# 启动Nginx和Node.js服务
CMD ["/start-nginx.sh"]