当前位置: 首页 > 软件库 > 云计算 > >

docker-headless-shell

授权协议 Readme
开发语言 Java
所属分类 云计算
软件类型 开源软件
地区 不详
投 递 者 景星光
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

About headless-shell

The headless-shell project provides a Docker image,chromedp/headless-shell, containing a pre-builtversion of Chrome's headless-shell -- a slimmed down version of Chrome thatis useful for driving, profiling, or testing web pages.

Notably, this Docker image has been created expressly for the Go chromedppackage, which provides a simple and easy to use API for drivingbrowsers compatible with the Chrome Debugging Protocol.

The version of headless-shell contained in this Docker image has beenmodified from the original Chromium source tree, to report the same user agentas Chrome, and has had other minor modifications made to it in order make itbetter suited for use in an embedded context.

Running

You can use this Docker image in the usual way:

# pull latest version of headless-shell
$ docker pull chromedp/headless-shell:latest

# pull specific tagged version of headless-shell
$ docker pull chromedp/headless-shell:74.0.3717.1

# run
$ docker run -d -p 9222:9222 --rm --name headless-shell chromedp/headless-shell

# if headless-shell is crashing with a BUS_ADRERR error, pass a larger shm-size:
$ docker run -d -p 9222:9222 --rm --name headless-shell --shm-size 2G chromedp/headless-shell

# run as unprivileged user
# get seccomp profile from https://raw.githubusercontent.com/jfrazelle/dotfiles/master/etc/docker/seccomp/chrome.json
$ docker run -d -p 9222:9222 --user nobody --security-opt seccomp=chrome.json --entrypoint '/headless-shell/headless-shell' chromedp/headless-shell --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222 --disable-gpu --headless

Using as a base image

When using chromedp/headless-shell as a base image to build an image that runs your own program, You could experience zombie process problem. To reap zombie processeses, use dumb-init or tini on your Dockerfile's ENTRYPOINT

FROM chromedp/headless-shell:latest
...
# Install dumb-init or tini
RUN apt install dumb-init
# or RUN apt install tini
...
ENTRYPOINT ["dumb-init", "--"]
# or ENTRYPOINT ["tini", "--"]
CMD ["/path/to/your/program"]

If running Docker 1.13.0 or later, use docker run's --init arg instead to reap zombie processes.

docker run -d -p <PORT>:<PORT> --name <your-program> --init <your-image>

Building and Packaging

The following contains instructions for building and packaging thechromedp/headless-shell Docker image manually.

Setup and Building

If you'd like to build this image yourself, locally, you will need to buildheadless-shell manually from the Chromium source. As such you will need tosetup Chromium's depot_tools, your build environment, and a full checkout ofthe Chromium source tree and its related dependencies.

Please see the following for instructions on building Chromium andheadless-shell on Linux:

Before proceeding, please ensure you have fully completed the above, havemanually built headless-shell at least once, and that your Chromium sourcetree is up-to-date.

Building

After you are able to successfully build headless-shell directly from theChromium source tree, you can simply run build-docker.sh:

# build headless-shell
$ ./build-headless-shell.sh /path/to/chromium/src 74.0.3717.1

# build docker image (uses $PWD/out/headless-shell-$VER.tar.bz2)
$ ./build-docker.sh 74.0.3717.1
  • 1、镜像的简单介绍: Docker 镜像(Image):就是一个只读的模板。 例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。 镜像可以用来创建 Docker 容器。 Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。 2、从 Docker Hub 仓库

  • 如果要有自己的一个docker java 基础环境镜像怎么做? 方式一 其实hub.docker.com已经有这个镜像了 https://hub.docker.com/_/openjdk 只要按照他的说明进行操作,就可以创建你想要的JDK版本 docker 假设项目JAR为sentinel-dashboard.jar,存放的文件位置是当前目录/demo 那么在此目录下/demo执行命令,创建容器

  • Headless Chrome安装与使用 Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等。 安装 对于RobotBug而言Headless Chrome以一个公共资源,可以被其他服务所使用。

 相关资料
  • Headless是一款无界面浏览器,支持快速网络接受测试,采用.Net环境。 优点: 支持快速网络接受测试。 HTML 元素解析。 支持多种表单。 支持超链接。 手册,页面或动态规划模型。 支持位置和状态代码验证 可扩展。

  • Headless Recorder 是一个 Chrome 扩展程序,可以记录您的浏览器交互并生成 Playwright 或 Puppeteer 脚本。 Headless Recorder 特点: 记录点击、输入事件等; 识别叠加层中的元素; 调整生成代码的设置; 预览 HTML 元素的 CSS 选择器。 截取整页和元素截图。 暂停、恢复和重新开始录制。 在浏览器中保留最新的脚本 复制到剪贴板。 直

  • Headless-Browser 是一款采用C++开发的基于WebKit 无界面浏览器。 安装: git clone git://github.com/alexandernst/headless_browser.git headless_browsercd headless_browsergit submodule initgit submodule update

  • Jasmine-Headless-Webkit是一款基于jasmine的无图形化web工具。 使用环境: Mac OS X 10.6 and 10.7, with MacPorts Qt, Homebrew Qt and Nokia Qt.mpkg Kubuntu 110.04, 10.10 and 10.04 Ubuntu 11.04 and 9.10 Arch Linux

  • 我正在尝试使用firefox headless在headless redhat linux构建机器上运行selenium测试。我创建驱动程序的方法如下所示: 我在日志文件中看到的错误如下所示: 我已经检查了机器上是否安装了gtk、glib、pango、xorg和libstdc的正确版本。以前有人在使用无头制造机时遇到过这个问题吗? Firefox版本:|Selenium版本:|GeckDrive版

  • Electron 基于 Chromium,所以需要一个显示驱动使其运转。如果 Chromium 无法找到一个显示驱动, ELectron 会启动失败,因此无论你如何去运行它,Electron 不会执行你的任何测试。在 Travis,Circle, Jenkins 或者类似的系统上测试基于Electron的应用时,需要进行一些配置。本质上,我们需要使用一个 虚拟的显示驱动。 配置虚拟显示服务器 首先