Windows下Python Socket连接Docker容器[WinError 10061]问题求助
解决Docker容器中Asterisk 5038端口连接被拒绝的问题
按以下步骤逐一排查解决:
检查Docker端口映射配置
运行容器时必须通过-p参数把容器内的5038端口映射到Windows宿主机端口,否则宿主机程序无法访问容器端口。
正确启动命令示例:docker run -d -p 5038:5038 <你的镜像名称>执行
docker ps查看容器状态,确认PORTS列显示类似0.0.0.0:5038->5038/tcp的映射记录。如果没有映射,停止容器后重新启动并添加端口映射参数。验证Windows防火墙设置
Windows防火墙可能拦截了5038端口的入站请求。可以先临时关闭防火墙测试连接,若能成功,再手动添加入站规则:允许TCP协议的5038端口通过防火墙。检查Asterisk Manager接口配置
即使容器监听了0.0.0.0:5038,Asterisk自身的Manager配置可能限制了连接IP:- 进入容器:
docker exec -it <容器名> /bin/bash - 编辑
/etc/asterisk/manager.conf文件:- 确保
[general]段的enabled = yes,port = 5038 - 修改
permit参数,添加允许连接的IP(比如Windows宿主机IP,或0.0.0.0/0临时允许所有IP测试)
- 确保
- 重启Asterisk服务:
asterisk -rx "restart now"
- 进入容器:
确认连接目标地址
若端口映射正确,直接用127.0.0.1:5038连接即可。如果未做端口映射,需要用容器实际IP(通过docker inspect <容器名> | grep IPAddress查询)连接,而非WSL的IP。
内容的提问来源于stack exchange,提问作者fureunoir
相关产品推荐
相关产品推荐

