Python ScrapydWeb:docker compose中的连接被拒绝
我尝试运行几个scrapyd服务,以便在本地主机上有一个简单的集群,但只有第一个节点起作用。对于另外两个,我得到以下错误Python ScrapydWeb:docker compose中的连接被拒绝,python,docker,docker-compose,scrapy,scrapyd,Python,Docker,Docker Compose,Scrapy,Scrapyd,我尝试运行几个scrapyd服务,以便在本地主机上有一个简单的集群,但只有第一个节点起作用。对于另外两个,我得到以下错误 scrapydweb_1 | [2020-11-17 07:17:32,738] ERROR in scrapydweb.utils.check_app_config: HTTPConnectionPool(host='scrapyd_node_3', port=6802): Max retries exceeded with url: / (Caused b
scrapydweb_1 | [2020-11-17 07:17:32,738] ERROR in scrapydweb.utils.check_app_config: HTTPConnectionPool(host='scrapyd_node_3', port=6802): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb060b8ef50>: Failed to establish a new connection: [Errno 111] Connection refused'))
scrapydweb_1 | [2020-11-17 07:17:32,738] ERROR in scrapydweb.utils.check_app_config: HTTPConnectionPool(host='scrapyd_node_2', port=6801): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb060a1e650>: Failed to establish a new connection: [Errno 111] Connection refused'))
我的docker compose文件有什么问题?问题在于:
SCRAPYD_SERVERS: "scrapyd_node_1:6800,scrapyd_node_2:6801,scrapyd_node_3:6802"
尝试将其更改为:
SCRAPYD_SERVERS: "scrapyd_node_1:6800,scrapyd_node_2:6800,scrapyd_node_3:6800"
说明:
例如,当您定义docker服务时,您将端口定义为:
ports:
- "6801:6800"
这意味着,contanier的端口
6800
映射到主机上的端口6801
。因此,当您想要用主机名声明节点时,您应该使用它的端口=scrapyd_节点2:6800
,我不确定,但是检查这行:scrapyd_服务器:“scrapyd_节点1:6800,scrapyd_节点2:6801,scrapyd_节点3:6802”
;例如,scrapyd_node2已经打开了端口6800(在容器中),在本地主机上是端口6801。尝试将其更改为:SCRAPYD\u服务器:“SCRAPYD\u节点1:6800,SCRAPYD\u节点2:6800,SCRAPYD\u节点3:6800”
@DawidGacek非常感谢。你可以把它贴出来作为答案
ports:
- "6801:6800"