You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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:

    1. 进入容器:docker exec -it <容器名> /bin/bash
    2. 编辑/etc/asterisk/manager.conf文件:
      • 确保[general]段的enabled = yes,port = 5038
      • 修改permit参数,添加允许连接的IP(比如Windows宿主机IP,或0.0.0.0/0临时允许所有IP测试)
    3. 重启Asterisk服务:asterisk -rx "restart now"
  • 确认连接目标地址
    若端口映射正确,直接用127.0.0.1:5038连接即可。如果未做端口映射,需要用容器实际IP(通过docker inspect <容器名> | grep IPAddress查询)连接,而非WSL的IP。

内容的提问来源于stack exchange,提问作者fureunoir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:51:06