1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 你好,
Stream Manager绑定到了本地主机,这可能是容器内的客户端无法连接到SM服务器的原因。建议您尝试通过容器使用的网络网关进行连接。如果使用默认网络,则最可能的网络名称为“bridge”。
您可以通过运行“docker network ls”来列出可用网络,例如我的可用网络:
NETWORK ID NAME DRIVER SCOPE
9d81c010d50a bridge bridge local
d1fdeb535122 host host local
72f2a273972a none null local
现在您应该找到容器运行的网络。
要做到这一点,请运行“docker inspect --format ='{{json.NetorkSettings.Networks}}' <NAME_OF_THE_CONTAINER>”,例如我的是“bridge”:
{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"9d81c010d50a3e2b2d175e68bcdac6edb6c440677af479dc4256f612f6d4146c","EndpointID":"702afd9f1cab8d837baf9e0917a3a28fc7131e2b92acc8124500e2d05a178f58","Gateway":"240.10.0.1","IPAddress":"240.10.0.2","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:f0:0a:00:02","DriverOpts":null}}
即我的容器正在使用“bridge”网络,这也是默认设置。桥接网络的网关默认应为“172.17.0.1”,我们可以使用“docker network inspect bridge”确认此点。
一旦您获得了网关地址,您需要将Stream Manager客户端配置为通过网关通信。
修改示例代码如下:
from stream_manager import StreamManagerClient
def main():
client = StreamManagerClient(host='172.17.0.1')
print(f"Connected to client: {client}")
if __name
