ljzsdut
GitHubToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

04 Alpine安装字体

alpine安装中文字体

1、alpine系统的字体软件是ttf-dejavu,执行命令apk add ttf-dejavu就可以安装了:

apk add ttf-dejavu

2、然后复制字体文件到/usr/share/fonts/目录下即可使用字体了:

# cd /usr/share/fonts/
# ls
chinese encodings ttf-dejavu

docker alpine 安装构建字体镜像

3、字体文件window系统和linux系统是通用的,因此可以直接在win10上复制需要的字体文件

Dockerfile中alpine安装中文字体

FROM openjdk:8u201-jdk-alpine3.9
#FROM openjdk:8u201-jre-alpine3.9
LABEL maintainer lijuzhang<lijuzhang@rlzbcy.com>

#*****时区设置*****
RUN echo http://mirrors.aliyun.com/alpine/v3.9/main > /etc/apk/repositories && \
    echo http://mirrors.aliyun.com/alpine/v3.9/community >> /etc/apk/repositories && \
    apk -U --no-cache add ca-certificates tzdata ttf-dejavu curl bash && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

#*****添加中文字体*****
# alpine系统的字体软件是ttf-dejavu,执行命令apk add ttf-dejavu就可以安装,上面(时区设置部分)已经安装
COPY chinese /usr/share/fonts/

#*****拷贝应用*****
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

WORKDIR /u01
ADD *.jar app.jar

#HEALTHCHECK --interval=10s --timeout=3s --retries=3 CMD curl --fail http://localhost:8080/ping || exit 1
EXPOSE 8080
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["java","-jar","app.jar"]

docker-entrypoint.sh

#!/bin/sh


#设置默认JAVA_OPTS参数
export JAVA_OPTS="-XX:+UseG1GC -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8 $JAVA_OPTS"

#Set the default JAVA_OPTS variable value, such as the memory size of tomcat
limit_in_bytes=$(cat /sys/fs/cgroup/memory/memory.limit_in_bytes)
if [ "$limit_in_bytes" -ne "9223372036854771712" ]; then # If not default limit_in_bytes in cgroup,表示限制内存
    if [ "$limit_in_bytes" -ge "1073741824" ]; then # If <= 1G, No memory limit,只对内存分配>=1G进行配置
        LIMIT_IN_MEGABYTES=$(expr $limit_in_bytes \/ 1048576)
        RESERVED_MEGABYTES_FOR_OTHERS=200
        MetaspaceSize_IN_MEGABYTES=128
        HeapSize_IN_MEGABYTES=$(expr $(expr $LIMIT_IN_MEGABYTES - $RESERVED_MEGABYTES_FOR_OTHERS) - $MetaspaceSize_IN_MEGABYTES)
        export JAVA_OPTS="-XX:MetaspaceSize=${MetaspaceSize_IN_MEGABYTES}M -XX:MaxMetaspaceSize=${MetaspaceSize_IN_MEGABYTES}M -Xms${HeapSize_IN_MEGABYTES}m -Xmx${HeapSize_IN_MEGABYTES}m $JAVA_OPTS" #the parameter with same name will overwrite the previous one
    fi
fi

# 将JAVA_OPTS传递给java命令
originalArgOne="$1"
if [[ "$originalArgOne" == "java" ]]; then
   shift
   set -- java ${JAVA_OPTS} "$@"
fi


exec "$@"