Docker 镜像添加字体

Docker Hub 中的官方镜像,并一定不会包含我们项目所需要的字体,由于我们项目对字体的需求不同,往往需要添加依赖的字体。根据基础镜像的不同,添加字体的方法也有所区别。

基于 Alpine 镜像

1)OpenJDK 不包括 sum.awt 的字体控件;
2)Alpine Linux v3.9 的基础镜像也未安装有 fontconfig 和 ttf-dejavu字体。

https://www.cnblogs.com/kevinlia0/p/15912165.html

OpenJDK 镜像:
#FROM openjdk:11-jre-alpine
#FROM openjdk:11-jdk-alpine
#FROM openjdk:8-jre-alpine
#FROM openjdk:8-jdk-alpine

FROM openjdk:8-jre-alpine

# 添加字体依赖
RUN apk update \
    && apk add --no-cache ttf-dejavu ttf-freefont fontconfig \
    && fc-cache --force \
    && rm /var/cache/apk/*
Spring Boot 项目 Dockerfile 示例:
FROM openjdk:8-jdk-alpine

# 添加字体依赖
RUN apk update \
    && apk add --no-cache ttf-dejavu ttf-freefont fontconfig \
    && fc-cache --force \
    && rm /var/cache/apk/*

# 申明临时卷
VOLUME /logs
VOLUME /tmp

# 拷贝本地Jar包到根目录
ADD ./target/app-1.0.0-SNAPSHOT.jar /

# 挂着启动脚本
CMD ["sh", "-c", "java -jar app-1.0.0-SNAPSHOT.jar"]

#ENTRYPOINT ["java", "-jar", "app-1.0.0-SNAPSHOT.jar"]
作者:Jeebiz  创建时间:2023-02-12 01:48
最后编辑:Jeebiz  更新时间:2024-08-02 14:21