I am running locust in Docker (version 23.0.3). I keep getting the following error:
[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
It only produces error if webUI is run with IP 0.0.0.0
inside container, as we are running it in docker and its necessary to map an external port with inner container port we are constrained in using IP 0.0.0.0
.
If the problem would be with docker itself then I ran a container of Nginx and it was running fine with IP 0.0.0.0:80
.
Running ip r l
shows
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
Is this issue related to docker routing or locust itself?
I tried to run locust in a docker container and I was expecting it to run gracefully.