场景
springboot项目使用docker打包时,使用到字体相关的包时,需要add ttf-dejavu fontconfig
FROM adoptopenjdk/openjdk8-openj9:jdk8u312-b07_openj9-0.29.0-alpine
ENV LANG en_US.UTF-8
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
ADD smc-business/target/smc-business-1.0.0-SNAPSHOT.jar /usr/share/app.jar
ENTRYPOINT ["java", "-Duser.timezone=GMT+08", "-Xmx512m", "-jar", "/usr/share/app.jar"]
报错信息
docker build的时候发生以下报错
PS C:\IdeaProjects\nsvc> docker build --no-cache -f DockerfileBusiness -t registry.cn-hangzhou.aliyuncs.com/est-proj/smc-business:20230105business01 .
[+] Building 12.0s (7/8)
=> [internal] load build definition from DockerfileBusiness 0.0s
=> => transferring dockerfile: 484B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/adoptopenjdk/openjdk8-openj9:jdk8u312-b07_openj9-0.29.0-alpine 0.9s
=> CACHED [1/4] FROM docker.io/adoptopenjdk/openjdk8-openj9:jdk8u312-b07_openj9-0.29.0-alpine@sha256:01b808984aab10c93b9cd34ba0afd09cea243db8c55c0120aa239e39262841c4 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 146B 0.0s
=> [2/4] RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories 0.4s
=> ERROR [3/4] RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 10.6s
------
> [3/4] RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*:
#6 0.553 fetch https://mirrors.ustc.edu.cn/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#6 5.557 ERROR: https://mirrors.ustc.edu.cn/alpine/v3.14/main: temporary error (try again later)
#6 5.557 WARNING: Ignoring https://mirrors.ustc.edu.cn/alpine/v3.14/main: No such file or directory
#6 5.557 fetch https://mirrors.ustc.edu.cn/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#6 10.56 ERROR: https://mirrors.ustc.edu.cn/alpine/v3.14/community: temporary error (try again later)
#6 10.56 WARNING: Ignoring https://mirrors.ustc.edu.cn/alpine/v3.14/community: No such file or directory
#6 10.56 ERROR: unable to select packages:
#6 10.56 fontconfig (no such package):
#6 10.56 required by: world[fontconfig]
#6 10.56 ttf-dejavu (no such package):
#6 10.56 required by: world[ttf-dejavu]
------
executor failed running [/bin/sh -c apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*]: exit code: 2
解决方法
添加dns配置后就可以成功build
{
"dns" : [
"114.114.114.114",
"8.8.8.8"
]
}