04 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

3、字体文件window系统和linux系统是通用的,因此可以直接在win10上复制需要的字体文件
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 "$@"