ttf-dejavu fontconfig字体

ttf-dejavu fontconfig是验证码,pdf,excel时需要用到的字体

编辑dockerfile,先切换国内镜像源,默认alpinelinux是国外源,下载包会很慢
登录后复制 

vim Dockerfile
FROM alpine:latest
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* && mkfontscale && mkfontdir && fc-cache

RUN后面执行命令解释
# 切成国内阿里云源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装中文字体
apk add --update ttf-dejavu fontconfig
# 删除安装缓存包
rm -rf /var/cache/apk/*
# 刷新字体
mkfontscale && mkfontdir && fc-cache
# 验证(这个构建好镜像后运行执行)


 

因产品需要,为服务添加验证码,决定使用com.github.penggle的验证码生成服务。

一,添加依赖:

 <dependency>
    <groupId>com.github.penggle</groupId>
    <artifactId>kaptcha</artifactId>
    <version>2.3.2</version>
</dependency>
实现接口很简单,看git文档即可。

二,这时候需要打包镜像上传,发现需要添加ttf-dejavu
故在dockerfile中添加以下内容:

RUN apk add --no-cache tzdata bash  ttf-dejavu fontconfig \
    && fc-cache --force \

现在镜像中已经存在字体了。

三,apk增加阿里的仓库源

不过,下载非常慢,可能会持续,好几天。
所以还需要为apk增加阿里的仓库源,如下

RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories

再次docker build 发现瞬间完成,问题解决。

该部分dockerfile 如下:

FROM registry.cn-hangzhou.aliyuncs.com/netbankzgg/java:8u191-jdk-alpine3.9-tini
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
RUN apk add --no-cache tzdata bash  ttf-dejavu fontconfig \
	&& fc-cache --force 



原文链接:https://blog.csdn.net/zhangzhen02/article/details/105223570

要在JDK 8中安装字体库,有两种常用的方法可以选择: 方法一:在Dockerfile中安装字体库 可以在Dockerfile中添加以下命令来安装字体库: ``` FROM java:8 RUN apt-get update && apt-get install -y fontconfig ``` 这将使用apt-get命令在基础镜像中安装fontconfig包,以支持字体库。 方法二:使用apk命令安装字体库 如果你使用的是Alpine Linux基础镜像,可以使用apk命令来安装字体库。在Dockerfile中添加以下命令: ``` FROM java:8-jdk-alpine RUN apk add --update --no-cache ttf-dejavu fontconfig ``` 这将使用apk命令在基础镜像中安装ttf-dejavufontconfig包。 另外,你还可以根据实际情况使用其他方法来安装字体库,只要确保所选方法适用于你正在使用的JDK 8镜像即可。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [java8 镜像安装中文字体](https://blog.csdn.net/pingweicheng/article/details/119213962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [带字库依赖的jdk8镜像](https://download.csdn.net/download/qq_31772441/79491640)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值