Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ScrapydWeb:docker compose中的连接被拒绝_Python_Docker_Docker Compose_Scrapy_Scrapyd - Fatal编程技术网

Python ScrapydWeb:docker compose中的连接被拒绝

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

我尝试运行几个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 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"