ttf-dejavu fontconfig字体

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

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

java 复制代码
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的验证码生成服务。

一,添加依赖:
com.github.penggle kaptcha 2.3.2 实现接口很简单,看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 如下:

java 复制代码
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

相关推荐
醉颜凉1 分钟前
【NOIP提高组】潜伏者
java·c语言·开发语言·c++·算法
阿维的博客日记6 分钟前
java八股-jvm入门-程序计数器,堆,元空间,虚拟机栈,本地方法栈,类加载器,双亲委派,类加载执行过程
java·jvm
qiyi.sky6 分钟前
JavaWeb——Web入门(8/9)- Tomcat:基本使用(下载与安装、目录结构介绍、启动与关闭、可能出现的问题及解决方案、总结)
java·前端·笔记·学习·tomcat
lapiii35810 分钟前
图论-代码随想录刷题记录[JAVA]
java·数据结构·算法·图论
程序员小明z14 分钟前
基于Java的药店管理系统
java·开发语言·spring boot·毕业设计·毕设
mit6.82428 分钟前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构
qq_1674015130 分钟前
Docker 组添加用户,设置允许普通用户操作 docker
docker·容器
Z1eaf_complete31 分钟前
Docker的基础使用
运维·docker·容器·云计算
爱敲代码的小冰32 分钟前
spring boot 请求
java·spring boot·后端
Lyqfor1 小时前
云原生学习
java·分布式·学习·阿里云·云原生