Docker容器中运行Vite开发服务器立即退出问题求助
解决方案
1. 修复核心问题:错误的package.json
你的package.json内容完全被替换成了vite.config.js的代码,这是npm run dev无法正常启动服务器的根本原因。必须恢复正确的package.json结构,示例如下:
{ "name": "hiking-weather-frontend", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.3.4" }, "devDependencies": { "@vitejs/plugin-vue": "^4.3.4", "vite": "^4.4.9" } }
根据你的实际依赖调整版本号,确保scripts字段里的dev命令正确指向vite。
2. 优化Dockerfile(可选但推荐)
- 无需全局安装vite,项目依赖中已包含该工具,全局安装属于冗余操作
- 新增
USER node配置,以非root用户运行容器,提升安全性
修改后的Dockerfile:
FROM node:18-alpine WORKDIR /usr/app # 复制package文件并安装依赖 COPY package*.json ./ RUN npm install # 复制项目代码 COPY . . # 暴露端口 EXPOSE 8080 # 切换到非root用户 USER node # 启动开发服务器(vite.config.js已配置host:0.0.0.0,无需额外传--host参数) CMD ["npm", "run", "dev"]
3. 重新构建并运行容器
执行以下命令:
# 重新构建镜像 docker build -t hiking-weather-frontend . # 运行容器(如需挂载本地代码实现热更新,添加-v参数) docker run -p 8080:8080 -v $(pwd)/src:/usr/app/src hiking-weather-frontend
完成以上修改后,vite开发服务器即可在容器中正常启动,不会再出现立即退出的情况。
内容的提问来源于stack exchange,提问作者ngmir
相关产品推荐
相关产品推荐

