栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【采坑记录】关于splash启动的时候用docker-compose启动和docker启动的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【采坑记录】关于splash启动的时候用docker-compose启动和docker启动的区别

关于splash启动的时候用docker-compose启动和docker启动的区别

尝试了下docker-compose启动splash,splash官网没有这个方式,所以需要自己网上找下启动的yaml文件

version: '3.8'

services:
  splash:
    image: scrapinghub/splash
    container_name: splash_web
    ports:
      - "8050:8050"
    expose:
      - 8050

这样启动之后,发下有的网址会出现解析不了域名的情况
在splash网页直接用lua脚本请求

这里请求的网址就不写了,http://xxx.com代替

function main(splash, args)
  splash.resource_timeout = 90
  assert(splash:go("http://xxx.com"))
  splash:wait(0.5)
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end

出现了以下报错

{
    "error": 400,
    "type": "scriptError",
    "description": "Error happened while executing Lua script",
    "info": {
        "source": "[string "function main(splash, args)r..."]",
        "line_number": 3,
        "error": "network3",
        "type": "LUA_ERROR",
        "message": "Lua error: [string "function main(splash, args)r..."]:3: network3"
    }
}

加了assert断言之后,就会直接报错,network3看了下官网就是 DNS解析错误, 官方原文链接:https://splash.readthedocs.io/en/stable/scripting-ref.html

官方推荐的启动方式
docker run -it -p 8050:8050 --rm scrapinghub/splash

这样请求就没任何问题,挂着代理请求也没啥问题

至于docker-compose启动为啥会解析不了域名,原因不明,先记录下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686872.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号