当前位置: 首页 > news >正文

Dockerfile 安装echarts插件给java提供服务

java调用echarts插件,生成图片保存到磁盘然后插入到pptx中报表。

Dockerfile文件内容: 

#基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8
FROM docker.io/centos:centos7
#暴露端口
EXPOSE 9311
# 避免centos 日志输出 中文乱码
ENV LANG en_US.utf8
#容器中创建工作目录
WORKDIR  /usr/local/plugin
#容器中创建子目录
RUN mkdir -p ./data \
&&  mkdir -p ./Echart \
&& yum -y install fontconfig-devel \
&& yum groupinstall 'fonts' -y# 构建容器时 复制解压 echarts phantomjs jdk 到容器
ADD jdk-8u202-linux-x64.tar.gz  ./
ADD echarts-convert.tar.gz  ./
ADD phantomjs-2.1.1-linux-x86_64.tar.bz2  ./# 构建容器时 编译后的jar包copy到容器中创建到目录内
COPY realize-market-value.jar ./
COPY MVDR_YYYYMMDD_Template.docx  ./# 构建容器时 安装phantomjs 依赖系统libfontconfig.so文件
#RUN yum -y install fontconfig-devel
# 构建容器时 安装phantomjs 生成echart图片中文字体乱码解决
#RUN yum groupinstall 'fonts' -y
#配置环境变量
ENV JAVA_HOME=./jdk1.8.0_202
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH# 构建容器时 指定容器时区
RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
# 启动容器时 要执行的命令
ENTRYPOINT ["java","-jar","-Dspring.profiles.active=server","realize-market-value.jar"]
# 启动容器时 启动 tomcat
# CMD ["/usr/local/tomcat/apache-tomcat-8.5.27/bin/catalina.sh", "run"]
# 启动容器时 CMD的参数可以在镜像运行的时候被替换掉,并且成为ENTRYPOINT命令的参数
# CMD ["realize-market-value.jar"]

k8s文件:

apiVersion: v1
kind: Service
metadata:name: $IMG_NAMEnamespace: rz-dtlabels:app: $IMG_NAME
spec:type: ClusterIPports:- name: tcp-9311-9311port: 9311protocol: TCPtargetPort: 9311selector:app: $IMG_NAME
---
apiVersion: apps/v1
kind: Deployment #对象类型
metadata:name: $IMG_NAME #名称namespace: rz-dtlabels:app: $IMG_NAME #标注
spec:replicas: 1 #运行容器的副本数,修改这里可以快速修改分布式节点数量selector:matchLabels:app: $IMG_NAMEtemplate:metadata:labels:app: $IMG_NAMEspec:containers: #docker容器的配置- name: $IMG_NAMEenv:- name: aliyun_logs_catalinavalue: stdoutimage: rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt-real/$IMG_NAME:$IMG_TAG # pull镜像的地址 ip:prot/dir/images:tagimagePullPolicy: Always #pull镜像时机,ports:- containerPort: 9311 #容器对外开放端口,需与springboot配置文件一致volumeMounts:- name: time-configmountPath: /etc/localtimereadOnly: true- name: volume-logsmountPath: /logssubPath: logsresources:limits:cpu: 5000mmemory: 1Girequests:cpu: 3000mmemory: 200Mi#从私有仓库拉取镜像凭证imagePullSecrets:- name: rz-dt-miyue-vpcvolumes:- name: time-confighostPath:path: /usr/share/zoneinfo/Asia/Shanghai- name: volume-logspersistentVolumeClaim:claimName: rz-dt-nas-volume-claim-real

 发布文件脚本:

echo "开始制作镜像..."
image_name=realize-market-value
image_tag=`date +%Y-%m-%d-%H-%M-%S` #_%H%M
echo "当前时间版本号:$image_tag"
docker build -t ${image_name}:${image_tag} .
echo "制作镜像成功!"echo "登录"
sudo docker login --username=aliyun0398513152 rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com --password=1234!@#$qwerQWERecho "镜像最新版本提交"
docker tag ${image_name}:${image_tag} rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt-real/${image_name}:${image_tag}
docker push rz-dt-image-server-registry-vpc.cn-shanghai.cr.aliyuncs.com/rz-dt-real/${image_name}:${image_tag}echo "k8s一键部署"
export IMG_TAG=${image_tag}
export IMG_NAME=${image_name}
envsubst < ${image_name}'-real'.yaml | kubectl --kubeconfig ~/.kube-rz-real/config apply -f -


 

http://www.lryc.cn/news/496036.html

相关文章:

  • Springboot小知识(1):启动类与配置
  • [CISCN 2019华东南]Web11
  • Cypress内存溢出奔溃问题汇总
  • 树莓派4B--OpenCV安装踩坑
  • 电子电气架构 --- 面向服务的汽车诊断架构
  • Pytest --capture 参数详解:如何控制测试执行过程中的输出行为
  • IS-IS的原理
  • C++(4个类型转换)
  • Ubuntu20.04安装NVIDIA显卡驱动
  • 速盾:介绍一下高防cdn的缓存响应事什么功能?
  • Nuclei-快速漏洞扫描器
  • linux网络抓包工具
  • 详解桥接模式
  • 探索AI新世界!热门工具与学习资源免费获取
  • vue3项目搭建-6-axios 基础配置
  • Django 视图层
  • 代理IP与百度在信息时代的交互
  • 1、Three.js开端准备环境
  • 什么是Batch Normalization?
  • 十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize
  • vue2怎么写computed属性
  • 【从零开始的LeetCode-算法】35. 搜索插入位置
  • vscode + conda + qt联合开发
  • 技术总结(四十三)
  • mac终端自定义命令打开vscode
  • 代码设计:设计模式:应对变化
  • Proteus中添加新元件库
  • Hive学习基本概念
  • 运维工程师.云计算工程师面试题.考试题
  • 四、初识C语言(4)