在 Mac 上使用 Docker 而不是 运行 的 Splash 服务器

Splash server with Docker not running on Mac

我正在尝试使用 Docker 配置 Splash 服务器,以便为 scrapy 呈现 javascript。

我下载并安装了 Docker 工具箱(由于缺少 CPU MMU 支持,我的 Macbook pro 2009 无法安装最新版本的 Docker)。

我在 Docker 快速启动终端中 运行ned "docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash"。该命令执行但在 "Starting factory..." 之后我无法恢复我的 shell 提示。

我试图在我的浏览器中访问 http://localhost:8050/ 并 ping localhost:8050,但这不起作用:"This site can’t be reached"。如果能帮助我理解问题所在,我将不胜感激。谢谢!

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


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

Ordinateur:~ jb$ docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash
Unable to find image 'scrapinghub/splash:latest' locally
latest: Pulling from scrapinghub/splash
75c416ea735c: Pull complete 
c6ff40b6d658: Pull complete 
a7050fc1f338: Pull complete 
f0ffb5cf6ba9: Pull complete 
be232718519c: Pull complete 
de1c9f88de34: Pull complete 
0b8cdf21020f: Pull complete 
cf35f91dcdb5: Pull complete 
bfbc20b51f2f: Pull complete 
f434ae0e9eb2: Pull complete 
Digest: sha256:0a91eb2de229289b0c83f39d8bd079d2464a954001869417a5297aa60820af5b
Status: Downloaded newer image for scrapinghub/splash:latest
2017-07-26 10:45:59+0000 [-] Log opened.
2017-07-26 10:45:59.513146 [-] Splash version: 3.0
2017-07-26 10:45:59.515698 [-] Qt 5.9.1, PyQt 5.9, WebKit 602.1, sip 4.19.3, Twisted 16.1.1, Lua 5.2
2017-07-26 10:45:59.516027 [-] Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609]
2017-07-26 10:45:59.516214 [-] Open files limit: 1048576
2017-07-26 10:45:59.516349 [-] Can't bump open files limit
2017-07-26 10:45:59.657299 [-] Xvfb is started: ['Xvfb', ':806019943', '-screen', '0', '1024x768x24', '-nolisten', 'tcp']
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
2017-07-26 10:45:59.992921 [-] proxy profiles support is enabled, proxy profiles path: /etc/splash/proxy-profiles
2017-07-26 10:46:00.273110 [-] verbosity=1
2017-07-26 10:46:00.273490 [-] slots=50
2017-07-26 10:46:00.275082 [-] argument_cache_max_entries=500
2017-07-26 10:46:00.276541 [-] Web UI: enabled, Lua: enabled (sandbox: enabled)
2017-07-26 10:46:00.278098 [-] Site starting on 8050
2017-07-26 10:46:00.278647 [-] Starting factory <twisted.web.server.Site object at 0x7f751d78ccf8>

如果我重新启动 docker 和 运行 "docker ps" 我可以看到容器是 运行ning:

Ordinateur:~ jb$ docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
e2c23b576b88        scrapinghub/splash   "python3 /app/bin/..."   2 hours ago         Up 2 hours          0.0.0.0:5023->5023/tcp, 0.0.0.0:8050-8051->8050-8051/tcp   gallant_feynman

Docker 在本地主机以外的地址可用。来自您的日志:

docker is configured to use the default machine with IP 192.168.99.100

尝试访问 http://192.168.99.100:8050 而不是本地主机。如果您使用的是 docker-machine,您还可以使用 docker-machine ip default 命令获取 IP 地址。

服务器 运行 正常,我只需要用我的 IP 替换 localhost。谢谢!