找不到Docker SocketIOPython

问题描述

正常运行我的Python-SocketIO应用程序时,与前端的SocketIO连接可以正常工作。在Docker容器中,它无法连接。

Docker容器的输出

let mut value = Value::String("Hello world".to_string());
let mut string = value.as_str().unwrap().to_string();
string.push('!');
value = Value::String(string);

A similar problem是为标准SocketIO生成的,但是Python-SocketIO没有提到======== Running on http://0.0.0.0:8080 ======== (Press CTRL+C to quit) 文件,因此我没有包含任何容量。我也不认为这很重要,因为程序的输出已经描述了config.json而不是0.0.0.0:8080

我的跑步配置:->尝试全部

127.0.0.1:8080

8/19/20注意:通过Client API建立到Docker容器的连接。

解决方法

我假设您的运行命令中的<CONTAINER_ID>是自定义图片标签?容器和图像是不同的东西。

问题似乎是您没有为run命令的-p / --publish参数使用正确的格式。最简单的形式是使用{host-port}:{container-port},例如8080:8080。您可以选择明确地指出,该端口应位于所有带有0.0.0.0:8080:8080的接口上,或限制为带有127.0.0.1:8080:8080的主机环回。将/tcp添加到末尾以仅限制为TCP数据包。您可以使用0.0.0.0::8080(请注意多余的冒号)将容器端口8080暴露在随机动态端口上,或者使用-P / --publish-all对容器上所有暴露的端口进行暴露。容器。

听起来您想使用类似这样的方法来模仿在容器外部运行应用程序:

docker run --rm -d -p 0.0.0.0:8080:8080 <IMAGE_TAG>

容器的网络可以参与其中,docs on links是有关可能配置的不错的入门书。