K8S运维 解决openjdk:8-jdk-alpine镜像时区和字体问题

这篇具有很好参考价值的文章主要介绍了K8S运维 解决openjdk:8-jdk-alpine镜像时区和字体问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、问题

二、解决

三、完整代码


一、问题

由于项目的Dockerfile中使用openjdk:8-jdk-alpine作为基础镜像来部署服务,此镜像存在一定问题,例如时差8小时问题,或是由于字体问题导致导出excel文件,图片处理内容为空等。

二、解决

1.解决网络慢的问题

软件源修改为国内清华镜像站

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

2.修改时区为国内

RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  \
    && echo "Asia/Shanghai" > /etc/timezone && apk del tzdata

3.安装字体

增加字体,解决验证码、图片处理没有字体报空指针问题

RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*

三、完整代码

完整Dockfile代码文章来源地址https://www.toymoban.com/news/detail-770143.html

FROM openjdk:8-jdk-alpine

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \
    && apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  \
    && echo "Asia/Shanghai" > /etc/timezone && apk del tzdata \
    && apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*


# add resource

ADD app.jar /app.jar


ENTRYPOINT ["java","-jar","app.jar"]

到了这里,关于K8S运维 解决openjdk:8-jdk-alpine镜像时区和字体问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s运维操作分享

    K8s运维日常操作 使用K8s部署项目的优点 使用K8s部署项目的优点包括: 1.可扩展性高:K8s可以自动管理容器的扩展和缩容,使得项目能够应对高流量的压力。 2.高可用性:K8s可以自动保证容器的高可用性,在容器故障时自动重启容器。 3.资源管理:K8s可以自动管理容器的资源

    2024年02月12日
    浏览(35)
  • K8S:K8S自动化运维容器化(Docker)集群程序

    目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Master组件 ①Kube-apis

    2024年02月12日
    浏览(64)
  • 分别使用Alpine、Docker制作jdk镜像

    目录 制作 jdk 1.0 镜像  ——Docker 1.创建文件夹上传jdk的安装包,和在同级目录下编写Dockerfile文件 2.编写 Dockerfile 文件 3.执行Dockerfile文件,初次依赖镜像的时候会下载相应镜像 优化制作jdk镜像(缩小内存大小)——使用alpine 1、下载alpine镜像 2、创建并编辑Dockerfile 4、执行doc

    2024年02月04日
    浏览(56)
  • docker使用alpine构建jdk21镜像

            项目使用的是springboot3.0,进行docker打包的时候需要jdk17以上,索性我就使用jdk21了,但是进行docker打包的时候,没有找到jdk21的镜像包,所以就想自己打包一个。         1.最初想要基于centOS去封装一个镜像,但是觉得这个包体会比较大,然后了解到了alpine这个基

    2024年01月16日
    浏览(37)
  • 运维良药,K8S日常故障处理集锦

    问题1:K8S集群服务访问失败? 原因分析 :证书不能被识别,其原因为:自定义证书,过期等。 解决方法 :更新证书即可。 问题2:K8S集群服务访问失败? curl: (7) Failed connect to 10.103.22.158:3000; Connection refused 原因分析 :端口映射错误,服务正常工作,但不能提供服务。 解决

    2024年01月17日
    浏览(39)
  • k8s 镜像

    镜像名称 容器镜像通常会被赋予 pause、example/mycontainer 或者 kube-apiserver 这类的名称。 镜像名称也可以包含所在仓库的主机名。例如:fictional.registry.example/imagename。 还可以包含仓库的端口号,例如:fictional.registry.example:10443/imagename。 如果你不指定仓库的主机名,Kubernetes 认为

    2024年02月20日
    浏览(35)
  • 学习Helm来提高K8S运维效率

    Helm 是 Kubernetes 的一个包管理工具,用于简化应用程序在 Kubernetes 上的部署和管理过程。 它允许您使用预定义的模板(Charts)来描述应用程序的组件、依赖关系和配置。 Helm Charts 可以重复使用,提高了应用程序的可维护性和可扩展性。 Helm 包含两个主要组件:Helm 客户端和

    2024年02月14日
    浏览(37)
  • 准备k8s集群镜像

    一、在安装kubernetes集群之前,必须要提前准备好集群需要的镜像,所需平面镜像可以通过下面命令查看 kubeadm config images list 二、由于网络原因registry.k8s.io这个镜像仓库源访问不了,就需要变通一下切换镜像仓库地址为阿里云的地址,并打上镜像标签 kubeadm init | Kubernetes 三、

    2024年02月03日
    浏览(37)
  • k8s 配置本地镜像库

    二级制部署k8s后,在节点部署pod时需要部署本地registry(节点不能上网)。 1.docker pull registry 2. mkdir -p /usr/local/docker/registry-data 3.docker tag registry 192.168.201.67:5000/registry 4.docker push 192.168.201.67:5000/registry 5.docker run -di --name=registry -p 5000:5000 -v /usr/local/docker/registry-data:/var/lib/registry 192.1

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包