首页 文章

发布连接到Docker容器的问题

提问于
浏览
0

我试图将Docker主机上的脚本连接到Docker容器上的脚本 .

这些脚本使用的是Python的远程队列管理器,它们在Docker之外完美运行,所以我很确定问题在于我的Docker配置或我对Docker端口转发的理解 .

容器上的脚本正确绑定到(localhost,5800),我验证脚本不会崩溃 .

我已经尝试让脚本连接到端口5800上的容器的IP地址,但这不起作用(连接被拒绝) . 我也尝试使用-p标志并将5800转发到随机端口,然后从Docker主机连接到(localhost,randomport),这也不起作用(连接被拒绝) .

同样,脚本肯定在运行,因为即使我在容器上获得shell并手动启动脚本,也会发生问题,确保它成功启动服务器并且不会将其关闭 .

对我而言,这似乎与在Docker容器中运行Web服务器完全相同 . 为什么这不起作用?脚本在Docker之外工作就好了 .

https://github.com/hashme/thistle/tree/flask_thistle

(请参阅容器脚本的room.py和主机脚本的app.py;我没有完全运行脚本但是在REPL中乱码,所以我调整了很多参数而没有成功)

要复制问题,首先运行./container.sh,然后(在REPL中)导入应用程序并创建一个带有一些IP地址和端口号的MessagePasser . 运行app.py脚本什么都不做 .

1 回答

  • 1

    容器上的脚本正确绑定到(localhost,5800)

    您需要确保在容器内脚本绑定到“0.0.0.0”(所有接口)地址,而不是localhost(环回) . 否则它将无法接受任何外部连接 .

相关问题