Docker化Python Web应用部署Azure App Service报dash_appdashboard模块缺失错误
错误根因
从日志中的ModuleNotFoundError: No module named 'dash_appdashboard'可以直接定位问题:你在Dockerfile的CMD指令中使用了Windows系统的路径分隔符\,而你的容器底层是Linux系统,会将反斜杠识别为转义符,直接把dash_app和dashboard拼接为了dash_appdashboard字符串,导致gunicorn无法找到对应的模块。
解决方案
- 修改Dockerfile中的CMD指令,将Windows风格的反斜杠替换为Python模块导入的点分隔符,符合gunicorn的
[包名].[模块名]:[实例名]参数规范:
CMD gunicorn --bind 0.0.0.0:5000 dash_app.dashboard:server
- 补充检查项:
- 确认
dash_app文件夹下存在空的__init__.py文件,确保Python将该目录识别为可导入的包 - 确认
dash_app/dashboard.py文件中确实定义了名为server的应用实例 - 修改完成后先在本地重新构建容器测试运行正常,再推送镜像到Azure App Service重新部署即可。
内容的提问来源于stack exchange,提问作者Olid
相关产品推荐
相关产品推荐

