proxy_pool docker容器启动出错

wyyhbhjk  于 9个月前  发布在  Docker
关注(0)|答案(3)|浏览(173)

启动命令:

  1. docker run --env db_type=REDIS --env db_host=127.0.0.1 --env db_port=6379 --env db_password=pwd_str -p 50014:5010 jhao104/proxy_pool

错误:

  1. 2020-04-04 21:41:40,653 ProxyManager.py[line:66] ERROR Error 111 connecting to 127.0.0.1:6379. Connection refused.
  2. 2020-04-04 21:41:40,653 ProxyManager.py[line:46] INFO ProxyFetch - freeProxy14: start
  3. 2020-04-04 21:41:40,740 ProxyManager.py[line:61] INFO ProxyFetch - freeProxy14: 36.248.133.5:9999 success
  4. 2020-04-04 21:41:40,741 ProxyManager.py[line:65] ERROR ProxyFetch - freeProxy14: error
  5. 2020-04-04 21:41:40,742 ProxyManager.py[line:66] ERROR Error 111 connecting to 127.0.0.1:6379. Connection refused.
  6. 2020-04-04 21:41:40,742 ProxyScheduler.py[line:35] INFO finish fetch proxy
  7. Traceback (most recent call last):
  8. File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 552, in connect
  9. sock = self._connect()
  10. File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 609, in _connect
  11. raise err
  12. File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 597, in _connect
  13. sock.connect(socket_address)
  14. ConnectionRefusedError: [Errno 111] Connection refused
  15. During handling of the above exception, another exception occurred:
  16. Traceback (most recent call last):
  17. File "proxyPool.py", line 52, in <module>
  18. cli()
  19. File "/usr/local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
  20. return self.main(*args, **kwargs)
  21. File "/usr/local/lib/python3.6/site-packages/click/core.py", line 717, in main
  22. rv = self.invoke(ctx)
  23. File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
  24. return _process_result(sub_ctx.command.invoke(sub_ctx))
  25. File "/usr/local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
  26. return ctx.invoke(self.callback, **ctx.params)
  27. File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
  28. return callback(*args, **kwargs)
  29. File "proxyPool.py", line 38, in schedule
  30. runScheduler()
  31. File "../Schedule/ProxyScheduler.py", line 48, in runScheduler
  32. rawProxyScheduler()
  33. File "../Schedule/ProxyScheduler.py", line 40, in rawProxyScheduler
  34. doRawProxyCheck()
  35. File "../Schedule/RawProxyCheck.py", line 65, in doRawProxyCheck
  36. for _proxy in pm.db.getAll():
  37. File "../DB/DbClient.py", line 102, in getAll
  38. return self.client.getAll()
  39. File "/usr/src/app/DB/RedisClient.py", line 107, in getAll
  40. item_dict = self.__conn.hgetall(self.name)
  41. File "/usr/local/lib/python3.6/site-packages/redis/client.py", line 2979, in hgetall
  42. return self.execute_command('HGETALL', name)
  43. File "/usr/local/lib/python3.6/site-packages/redis/client.py", line 875, in execute_command
  44. conn = self.connection or pool.get_connection(command_name, **options)
  45. File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 1347, in get_connection
  46. connection.connect()
  47. File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 557, in connect
  48. raise ConnectionError(self._error_message(e))
  49. redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
slmsl1lt

slmsl1lt1#

如果要在容器内连宿主机上的服务,宿主机的127.0.0.1并不是容器内的127.0.0.1。
要实现这种有两种方式,

一是使用host网络模式

  1. docker run --network host --env db_type=REDIS --env db_host=127.0.0.1 --env db_port=6379 -p 5010:5010 jhao104/proxy_pool

二是使用 host.docker.internal

  1. docker run --env db_type=REDIS --env db_host=host.docker.internal --env db_port=6379 -p 5010:5010 jhao104/proxy_pool

参考 https://segmentfault.com/q/1010000010440290

l2osamch

l2osamch2#

我也是一样的错误,群辉Docker

0s7z1bwu

0s7z1bwu3#

docker run --net=host --env DB_CONN=redis://:@host.docker.internal:6379/0 -p 5010:5010 jhao104/proxy_pool:latest

相关问题