使用Docker构建支持中文字体的Java镜像

news/2024/7/20 23:31:39 标签: 中文字体, 镜像, Docker, jre, alpine-glibc

在构建镜像的过程中安装字体管理器和中文字体

  1. 构建jre镜像,参考这篇文章:
    Docker构建自定义的Java镜像:https://blog.csdn.net/zimou5581/article/details/9402274

  2. 如何安装中文字体,参考这篇文章
    如何给dcoker容器里的alpine系统安装中文字体:https://blog.csdn.net/zimou5581/article/details/101368129

  3. 文件目录如图
    在这里插入图片描述

  4. 构建镜像Dockerfile

    # using alpine-glibc instead of alpine  is mainly because JDK relies on glibc
    FROM docker.io/jeanblanchard/alpine-glibc
    # author
    MAINTAINER ygsama@qq.com
    # A streamlined jre
    ADD jre8.tar.gz /usr/java/jdk/
    ADD msyhbd.ttc  /opt/
    ADD msyhl.ttc   /opt/
    ADD msyh.ttc    /opt/
    ADD simhei.ttf  /opt/
    ADD simkai.ttf  /opt/
    ADD simsun.ttc  /opt/
    # set env
    ENV JAVA_HOME /usr/java/jdk
    ENV PATH ${PATH}:${JAVA_HOME}/bin
    ENV CLASSPATH ${CLASSPATH}:${JAVA_HOME}/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    # run container with base path:/opt
    WORKDIR /opt
    # install font
    RUN apk add font-adobe-100dpi \
        && chmod 777 *.ttc \
        && chmod 777 *.ttf \
        && mkdir /usr/share/fonts/win \
        && mv msyhbd.ttc /usr/share/fonts/win/  \
        && mv msyhl.ttc  /usr/share/fonts/win/  \
        && mv msyh.ttc   /usr/share/fonts/win/  \
        && mv simhei.ttf /usr/share/fonts/win/  \
        && mv simkai.ttf /usr/share/fonts/win/  \
        && mv simsun.ttc /usr/share/fonts/win/  \
        && fc-cache -f \
        && fc-list
    

http://www.niftyadmin.cn/n/1412929.html

相关文章

oracle日期处理完全版

TO_DATE格式复制内容到剪贴板代码:Day:dd number 12dy abbreviated friday spelled out fridayddspth spelled out, ordinal twelfthMonth:mm number 03mon abbreviated marmonth spelled out marchYear:yy two digits 98yyyy four digits 199824小时格式下时间范围为&#xff…

C -- OC with RunTime

前言 本来打算写一篇关于runtime的学习总结,无奈长篇大论不是我的风格,就像写申论一样痛苦,加之网上关于tuntime的文章多如牛毛,应该也够童子们学习的了,今天就随便聊聊我的理解吧。 runtime是什么 对于初学者&#xf…

Hive小文件处理

小文件是如何产生的: 动态分区插入数据的时候,会产生大量的小文件,从而导致map数量的暴增数据源本身就包含有大量的小文件reduce个数越多,生成的小文件也越多小文件的危害: 从HIVE角度来看的话呢,小文件越多…

深入浅出Spring Security(一):三句话解释框架原理

三句话解释框架原理 整个框架的核心是一个过滤器,这个过滤器名字叫springSecurityFilterChain类型是FilterChainProxy核心过滤器里面是过滤器链(列表),过滤器链的每个元素都是一组URL对应一组过滤器WebSecurity用来创建FilterCha…

Qt之坐标系统

简述 坐标系统由 QPainter 类控制,再加上 QPaintDevice 和 QPaintEngine,就形成了 Qt 的绘图体系。 QPainter:用于执行绘图操作QPaintDevice:二维空间的抽象层,可以使用 QPainter 在它上面进行绘制。QPaintEngine&…

oracle 日期经常用到的转换

1、转换函数与date操作关系最大的就是两个转换函数: to_date(),to_char()to_date() 作用将字符类型按一定格式转化为日期类型:具体用法:to_date(2004-11-27,yyyy-mm-dd),前者为字符串,后者为转换日期格式,注意,前后两者…

BUAA_OO_UML_OO总结

(1)总结本单元两次作业的架构设计 对于uml每个类型都进行构建,发现class和inference可以公用 继承和接口实例化数据结构一样 然后进行构造首先将所有模型输入都存入 参数传入函数 函数带入类或者接口 构建关联关系,构建接口实现…

文件上传靶场upload-labs通关

文章目录 前言Pass-01(JavaScript绕过)Step1、分析源码Step2、修改webshell文件后缀名Step3、修改报文重新发送Step4、使用webshell程序测试是否能连接 Pass-02(MIME-Type绕过)Step1、分析源码Step2、burp抓包,修改数据…