在 docker 中运行 locust 会产生 OSError: [Errno 97] Address family not supported by protocol

问题描述 投票:0回答:0

我在 docker verison 23.0.3 中运行蝗虫,我一直收到这个错误。

[2023-04-08 02:12:15,725] 044913c8d54a/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
[2023-04-08 02:12:15,742] 044913c8d54a/INFO/locust.main: Starting Locust 2.15.1
Traceback (most recent call last):
  File "src/gevent/greenlet.py", line 908, in gevent._gevent_cgreenlet.Greenlet.run
  File "/opt/venv/lib/python3.10/site-packages/locust/web.py", line 478, in start_server
    self.server.serve_forever()
  File "/opt/venv/lib/python3.10/site-packages/gevent/baseserver.py", line 398, in serve_forever
    self.start()
  File "/opt/venv/lib/python3.10/site-packages/gevent/baseserver.py", line 336, in start
    self.init_socket()
  File "/opt/venv/lib/python3.10/site-packages/gevent/pywsgi.py", line 1545, in init_socket
    StreamServer.init_socket(self)
  File "/opt/venv/lib/python3.10/site-packages/gevent/server.py", line 180, in init_socket
    self.socket = self.get_listener(self.address, self.backlog, self.family)
  File "/opt/venv/lib/python3.10/site-packages/gevent/server.py", line 192, in get_listener
    return _tcp_listener(address, backlog=backlog, reuse_addr=cls.reuse_addr, family=family)
  File "/opt/venv/lib/python3.10/site-packages/gevent/server.py", line 284, in _tcp_listener
    sock = GeventSocket(family=family)
  File "/opt/venv/lib/python3.10/site-packages/gevent/_socket3.py", line 133, in __init__
    self._sock = self._gevent_sock_class(family, type, proto, fileno)
OSError: [Errno 97] Address family not supported by protocol
2023-04-08T02:12:15Z <Greenlet at 0x7fd349243c40: <bound method WebUI.start_server of <locust.web.WebUI object at 0x7fd34915e410>>> failed with OSError

如果 webUI 在容器内使用 IP 0.0.0.0 运行,它只会产生错误,因为我们在 docker 中运行它,并且必须将外部端口映射到内部容器端口,我们只能使用 IP 0.0.0.0。 如果问题出在 docker 本身,那么我运行了一个 nginx 容器,它在 IP 0.0.0.0:80 下运行良好。

跑步

ip r l
表演

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

此问题与 docker routing 或 locust 本身有关吗?

我尝试在 docker 容器中运行 locust,我期待它能优雅地运行。

docker kubernetes gevent locust greenlets
© www.soinside.com 2019 - 2024. All rights reserved.