将Xvfb和Chrome封装到Docker镜像中并执行java程序

news2024/10/7 4:22:52
docker pull ubuntu:22.04

docker run -itd --net host -v /home/:/home ubuntu:22.04

进入容器

docker exec -it 8203e24ed bash

apt-get update

apt-get install xvfb

apt-get install chromium-browser

apt install chromium-chromedriver

apt install openjdk-11-jdk

上面命令执行完成之后就结束了 ,但是可能会运行时报错,我这里又手动下载chrome的安装包,重新安装了一下才行

下载chrome安装包

Google Chrome 网络浏览器

下载完成后将 google-chrome-stable_current_amd64.deb上传到服务器的路径下,我上传的是 /home

cd /home

apt install ./google*.deb

这样就安装完成了,接下来就是启动java项目了 

首先先启动虚拟屏幕,启动了之后浏览器才能正常的在没有显示设备的情况下正常运行

Xvfb -ac :99 -screen 0 1280x1024x16 &

export DISPLAY=:99

java -jar xxx.jar

测试正常通过之后退出容器

exit

将容器打包成镜像

docker commit ad8d6099b30e chrome_xvbf:0.3

搞定!

将docker镜像上传到阿里镜像仓库的方法已经在之前的博客中写过了,这里就不再记录了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743956.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack打包

webpack打包 1、webpack再次打包2、webpack的入口和出口 1、webpack再次打包 背景:代码增加之后,如何打包呢? 1、确保在src/index.js引用和使用 2、重新执行yarn build打包命令 2、webpack的入口和出口 1、新建webpack.config.js配置文件 …

五、Spring 注解开发

文章目录 一、使用注解开发的环境准备二、Spring 框架核心注解学习2.1 Component2.1.1 通过注解来控制 Bean 的作用域(Scope) 2.2 Component 的派生注解(对应这 web 开发的三层架构分层)2.2.1 Repositor2.2.2 Service2.2.3 Contro…

6.2.6 网络基本服务----电子邮件系统(E-mail)

6.2.6 网络基本服务----电子邮件系统(E-mail) 电子邮件系统是因特网上使用的最多且最受用户欢迎的一种应用 电子邮件系统包括用户代理和邮件服务器,提供收发邮件、邮件传送服务,邮件被传送到收信人邮件服务器的收信人信箱中&…

这所C9考数二英二!但409分被刷,387分直接放弃复试!

一、学校及专业介绍 西安交通大学简称“西安交大”,位于陕西省西安市,是中华人民共和国教育部直属的综合性研究型全国重点大学,由教育部、陕西省与国家国防科技工业局共建,国家“双一流”建设高校,首批进入国家“211工…

Sentionel流控授权规则

很多时候,我们需要根据调用来源来判断该次请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制的功能。来源访问控制根据资源的请求来源(origin)限制资源是否通过: 若配置白名单,则只有请求来源位于…

ELK日志记录——Kibana组件——grok 正则捕获插件、mutate数据修改插件、multiline 多行合并插件、date 时间处理插件

grok 正则捕获插件 grok 使用文本片段切分的方式来切分日志事件 内置正则表达式调用 %{SYNTAX:SEMANTIC} ●SYNTAX代表匹配值的类型,例如,0.11可以NUMBER类型所匹配,10.222.22.25可以使用IP匹配。 ●SEMANTIC表示存储该值的一个变量声明&…

Java 查找二叉树中某一结点的前驱结点以及后继结点

文章目录 前言什么是后继结点什么是前驱结点 代码实现查找某一结点的后继结点思路代码实现图解 查找某一结点的前驱结点思路代码实现图解 测试用例运行结果 结语 前言 给定二叉树结点定义Node结构如下,其中parent结点指向当前Node结点的父结点,根结点指向null&…

c++ 资源文件打包exe 写出指定目录

#include <iostream> #include <fstream> #include <Windows.h>int main() {// 加载资源HMODULE hModule GetModuleHandle(NULL);// HRSRC hResource FindResource(hModule, MAKEINTRESOURCE(IDR_MYSYS), RT_RCDATA);// IMAGE 是添加资源文件时起的名字HRS…

BOSHIDA DC电源模块过载保护的原理

BOSHIDA DC电源模块过载保护的原理 DC电源模块过载保护的原理是通过电路设计和控制算法来实现的&#xff0c;其基本思想是在系统发生过载时&#xff0c;通过控制电路的工作状态和输出特性&#xff0c;实现对输出电流的限制和保护。 具体来说&#xff0c;DC电源模块的过载保护主…

智慧城市建设与数字孪生技术的紧密关联

智慧城市是当今社会发展的趋势&#xff0c;它通过智能技术和数字化手段&#xff0c;实现城市各个领域的高效运行和可持续发展。而数字孪生技术作为智慧城市建设的重要支撑&#xff0c;正在发挥着重要的作用。 首先&#xff0c;数字孪生技术在城市规划和设计方面发挥着重要作用…

【C语言】4-C语言的数据表现形式之数据类型

0. 引言 在之前的例子中可以看到&#xff0c;在定义变量时需要指定变量的类型。C 语言要求在定义所有的变量与常量时都要指定变量的类型 为什么在用计算机运算时要指定数据的类型呢&#xff1f;在数学中&#xff0c;数值是不分类型的&#xff0c;数值的运算是绝对准确的&#…

重塑未来的1课:组装式交付新引擎——华为云智能化低代码平台

HDC期间可参与Astro注册抽奖&#xff0c;活动详情见文末&#xff01; 紧跟低代码技术飞速发展——华为云Astro智能工作流惊艳HDC.Cloud 2023&#xff01; 企业对未来智能化组装式交付的期待已不是空想。智能化低代码即将重新定义传统交付模式&#xff0c;密切连接AI科技与创造…

ue4 MRQ渲染器时,媒体纹理播放速度会被加快

问题描述&#xff1a;当MRQ渲染器开启抗锯齿时&#xff0c;媒体纹理的播放速度会被加快 解决办法&#xff1a;通过执行抗锯齿控制台命令来解决

手写文字识别为何这么难?怎么应对?

手写文字识别是一项极具挑战性的任务&#xff0c;它之所以比识别印刷体文字难&#xff0c;笔者认为&#xff0c;主要原因在于以下几个方面&#xff1a; 首先&#xff0c;手写文字样式的多样性是识别难度的主要来源。我们知道&#xff0c;签名具有法律效力&#xff0c;为什么呢…

前端|项目实操流程|学成在线项目实操

参考视频&#xff1a;黑马程序员前端CSS3基础教程&#xff0c;前端必备基础 目录 &#x1f4da;案例准备工作 &#x1f4da;CSS属性书写顺序 &#x1f407;布局定位属性 &#x1f407;自身属性 &#x1f4da;页面布局整体思路 &#x1f4da;学成在线项目制作 &#x1f4…

ELK 企业级日志分析系统的概念、ELK Elasticsearch 集群部署

ELK 企业级日志分析系统 一、ELK 的概述1、ELK 简介2、可以添加的其它组件3、filebeat 结合 logstash 带来好处&#xff1a;4、Fluentd的概念 二、ELK的特征与工作原理1、为什么要使用 ELK2、完整日志系统基本特征3、ELK 的工作原理 三、ELK Elasticsearch 集群部署&#xff08…

设计模式——门面模式

门面模式 定义 门面模式&#xff08;Faade Pattern&#xff09;又称为外观模式&#xff0c;是一种比较常用的封装模式。 要求一个子系统的外部与其内部的通信通过一个统一的对象进行。门面模式提供一个高层次的接口&#xff0c;使得子系统更易于使用 优缺点、应用场景 优点…

关于VUE报错“TypeError: Converting circular structure to JSON“

关于VUE报错“TypeError: Converting circular structure to JSON" 问题&#xff1a; [Vue warn]: Error in nextTick: "TypeError: Converting circular structure to JSON--> starting at object with constructor Vue| property $options -> object wit…

Linux驱动进阶(二)——设备驱动中的阻塞和同步机制

文章目录 前言阻塞与非阻塞等待队列等待队列概述等待队列的实现等待队列的使用 同步机制实验同步机制设计实验验证 小结 前言 阻塞和非阻塞是设备访问的两种基本方式。使用这两种方式&#xff0c;驱动程序可以灵活地支持阻塞与非阻塞访问。在写阻塞与非阻塞的驱动程序时&#…

喜报!Coremail连续4届入选嘶吼网络安全产业图谱

7月10日&#xff0c;嘶吼安全产业研究院联合国家网络安全产业园区&#xff08;通州园&#xff09;正式发布《嘶吼2023网络安全产业图谱》&#xff08;以下简称“图谱”&#xff09;。 Coremail成功入选本次图谱五大分类下14个细分领域&#xff0c;分别是安全自动化/协作&#x…