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-cacheRUN后面執行命令解釋
# 切成國內阿里云源
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 如下:
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