繁体   English   中英

Scrapy-splash 在“服务器正在侦听 http://0.0.0.0:8050”时没有结果

[英]Scrapy-splash no results at "Server listening on http://0.0.0.0:8050"

我在 Windows 10 Home Edition 上使用 Docker 工具箱(我的 BIOS 配置不允许我安装 Linux)

当我跑

docker run -it -p 8050:8050 --rm scrapinghub/splash

我收到日志消息Server listening on http://0.0.0.0:8050 ,正常情况下应该是这样。 但是当我 go 到我的 Chrome 上的地址时,唯一返回的是ERR_ADDRESS_INVALID ,无法访问该页面。


对于这个问题,我尝试了以下解决方案

  1. 根据我的 Docker SPLASH_URL地址更改我的settings.py上的 SPLASH_URL;
  2. 向我的 docker 运行添加新端口,例如5023:50238051:8051

我想这是我需要调查的由我自己引起的问题。 但是我已经尝试了所有可以在 Internet 上找到的东西。

我要写出正确的答案,感谢用户Selcuk解释了一些技术术语,感谢David Maze给了我最终的解决方案。


由于我们使用的是 Docker Toolbox,我们需要使用我们的docker-machine ip 转到您的终端并输入:

docker-machine ip

现在你有了正确的ip ,去你的settings.py并设置

SPLASH_URL = http://[docker-machine ip]:8050

一切顺利!

您无需更改任何设置。

如果您启动 docker 终端,它会在第一时间显示正确的 IP 地址,就在鲸鱼绘图之后。

                       ##         .
              ## ## ##        ==
           ## ## ## ## ##    ===
       /"""""""""""""""""\___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
       \______ o           __/
         \    \         __/
          \____\_______/

docker is configured to use the default machine with IP 192.168.99.102
For help getting started, check out the docs at https://docs.docker.com

所以在我的情况下,ip 是 192.168.99.102。

如果我在 chrome 上访问 192.168.99.102:8050,飞溅作品。

老话题,但对我很有帮助。 我添加了另一种获取 IP 地址的方法,无需 docker-machine。

使用容器 ID,您可以获得 IP 地址:

sudo docker inspect --format='{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' CONTAINER ID

要获取容器 ID,请使用: sudo docker ps

您也可以使用容器名称而不是 ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM