| 
									
										
										
										
											2025-01-09 16:10:19 +08:00
										 |  |  |  | FROM node:lts-alpine
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | WORKDIR /app
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | # 配置alpine国内镜像加速
 | 
					
						
							|  |  |  |  | RUN sed -i "s@http://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | # 安装tzdata,默认的alpine基础镜像不包含时区组件,安装后可通过TZ环境变量配置时区
 | 
					
						
							|  |  |  |  | RUN apk add --no-cache tzdata
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | # 设置时区为中国东八区,这里的配置可以被docker-compose.yml或docker run时指定的时区覆盖
 | 
					
						
							|  |  |  |  | ENV TZ="Asia/Shanghai"
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | # 如果各公司有自己的私有源,可以替换registry地址,如使用官方源注释下一行
 | 
					
						
							| 
									
										
										
										
											2025-01-10 12:53:28 +08:00
										 |  |  |  | RUN npm config set registry https://registry.npmmirror.com
 | 
					
						
							| 
									
										
										
										
											2025-01-09 16:10:19 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-10 13:02:23 +08:00
										 |  |  |  | # 安装 pnpm 和全局依赖
 | 
					
						
							| 
									
										
										
										
											2025-01-10 12:57:37 +08:00
										 |  |  |  | RUN npm install -g pnpm
 | 
					
						
							|  |  |  |  | RUN pnpm config set registry https://registry.npmmirror.com
 | 
					
						
							| 
									
										
										
										
											2025-01-10 13:02:23 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | # 安装开发期依赖
 | 
					
						
							|  |  |  |  | COPY package.json ./package.json
 | 
					
						
							|  |  |  |  | RUN pnpm install
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-09 16:10:19 +08:00
										 |  |  |  | # 构建项目
 | 
					
						
							|  |  |  |  | COPY . .
 | 
					
						
							| 
									
										
										
										
											2025-01-10 13:02:23 +08:00
										 |  |  |  | RUN pnpm run build
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-09 16:10:19 +08:00
										 |  |  |  | # 删除开发期依赖
 | 
					
						
							| 
									
										
										
										
											2025-01-10 13:02:23 +08:00
										 |  |  |  | RUN rm -rf node_modules && rm pnpm-lock.yaml    
 | 
					
						
							| 
									
										
										
										
											2025-01-09 16:10:19 +08:00
										 |  |  |  | # 安装生产环境依赖   
 | 
					
						
							| 
									
										
										
										
											2025-01-10 13:17:09 +08:00
										 |  |  |  | RUN pnpm install --production                           
 | 
					
						
							| 
									
										
										
										
											2025-01-09 16:10:19 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | # 如果端口更换,这边可以更新一下
 | 
					
						
							|  |  |  |  | EXPOSE 8001
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-10 13:02:23 +08:00
										 |  |  |  | CMD ["pnpm", "start"]
 |