docker-compose构建报错找不到Python-ast.h及端口绑定问题咨询
问题排查与解决方法
1. 构建报错修复
报错核心原因是本地项目目录下的myenv虚拟环境被纳入了Docker构建上下文。你不需要把本地虚拟环境传入容器,容器会独立安装依赖,且本地虚拟环境的文件可能存在软链接、权限问题导致打包失败。
解决步骤:
- 在项目根目录新建
.dockerignore文件,写入以下内容:
myenv/ __pycache__/ *.pyc .git/ .DS_Store
- 重新执行
docker-compose build即可解决该报错。
2. 端口绑定配置校验
你当前的端口绑定配置- 202.179.92.106:8000:9000语法是正确的,含义为将服务器公网IP的8000端口映射到容器内Django服务监听的9000端口。但需要额外确认两个配置:
- 服务器的安全组/防火墙必须开放8000端口的入站规则,允许公网访问
- Django项目的
settings.py中ALLOWED_HOSTS配置项需要添加202.179.92.106,否则访问时会返回400错误
如果不需要限制仅绑定公网网卡,也可以简化配置为- 8000:9000,会自动绑定服务器所有网卡的8000端口。
最终访问方式
配置完成后启动容器,在Windows端浏览器访问http://202.179.92.106:8000即可看到Django默认欢迎页。
内容的提问来源于stack exchange,提问作者macmagic
相关产品推荐
相关产品推荐

