Docker 常见问题
排查思路
遇到问题建议按照以下顺序排查:检查容器日志 → 检查 env.js 配置 → 检查 Nginx 代理规则 → 检查后端服务状态。
API 请求 404
原因:API 代理路径配置错误。
解决方法:
- 检查
env.js中的api配置是否正确 - 检查 Docker Compose 或 Nginx 代理规则中的路径是否匹配
- 确保后端服务已正确启动
提示
如果使用 Docker Compose,请检查 docker-compose.yml 中 API 服务的网络连接是否正常,确保前端容器能够访问后端容器。
页面白屏
原因:构建失败或资源路径错误。
解决方法:
- 检查构建日志,确认构建是否成功完成
- 确认
env.js中的assets_path和base配置正确 - 打开浏览器开发者工具 → Console 面板查看具体错误信息
- 检查
dist/目录是否包含所有必需文件
查看浏览器 Console 的方法
- Chrome:按
F12或Ctrl+Shift+I→ Console 面板 - Edge:按
F12或Ctrl+Shift+I→ Console 面板 - Firefox:按
F12或Ctrl+Shift+K→ 控制台
Logo 不显示
原因:Logo 路径错误或文件未挂载到容器中。
解决方法:
- 检查
env.js中logo配置的路径是否正确 - 如果使用 Docker,确认 volume 挂载路径是否正确
- 检查 Logo 文件是否存在于指定路径
- 清除浏览器缓存后重新加载
刷新页面 404
常见错误
这是 Vue Router History 模式部署中最常见的错误。Nginx 未正确配置单页应用回退规则。
原因:Nginx 未配置 History 模式回退。
解决方法:
在 Nginx 配置中添加 try_files 回退规则:
nginx
location / {
try_files $uri $uri/ /index.html;
}子目录部署注意
如果是子目录部署,需要将回退路径改为对应的子目录路径:
nginx
location /stellar/ {
try_files $uri $uri/ /stellar/index.html;
}时区不对
原因:Docker 容器未正确设置时区。
解决方法:
在 Docker Compose 或 Docker Run 命令中设置时区环境变量:
yaml
environment:
- TZ=Asia/Shanghai支持的时区格式
时区格式为 地区/城市,例如:
Asia/Shanghai(中国标准时间)Asia/Tokyo(日本标准时间)America/New_York(美国东部时间)
完整的时区列表可以参考 IANA Time Zone Database。
容器无法启动
原因:端口冲突、配置错误或镜像问题。
解决方法:
- 使用
docker logs <容器名>查看容器启动日志 - 检查端口是否被占用:
netstat -tulpn | grep <端口号> - 确认 Docker 镜像已正确构建或拉取
- 检查 Docker Compose 文件语法是否正确
bash
# 查看容器日志
docker logs stellar-frontend
# 检查端口占用
netstat -tulpn | grep 80构建镜像失败
原因:构建环境问题或依赖安装失败。
解决方法:
- 检查网络连接,确认能正常访问 npm 仓库
- 清除 npm 缓存:
npm cache clean --force - 确认 Node.js 版本符合项目要求(推荐 v18+)
- 检查 Dockerfile 中的构建步骤是否正确
需要更多帮助?
如果以上方法无法解决您的问题,请提供详细的错误信息和容器日志,我们会尽快协助您排查。