AlpineDocker镜像字体的问题解决操作
1、运⾏ fonts ,打开字体⽂件夹,到要⽤的字体⽂件;
2、修改Dockerfile,例如:
FROM alpine-jdk
ADD ./test.jar /opt/App/test.jar
#拷贝字体⽂件
COPY ./f /usr/share/f
#设置字符集
ENV LANG en_US.UTF-8
#安装字体软件,完成字体配置
RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
WORKDIR /opt/App/
EXPOSE 8080
ENTRYPOINT ["java", "-jar"]
CMD ["test.jar"]
补充:Dockerfile构建Alpine镜像/Linux使⽤apk下载设置资源(字体包/其他)失败/难产
字体包下载大全免费进⾏构建之前注意
如果报这个错误:
OCI runtime create failed: systemd cgroup flag passed, but systemd support for managing cgroups is not
available: unknown
请将daemon.json中的"exec-opts": ["updriver=systemd"]删掉
个⼈问题
我使⽤Dockerfile构建镜像时,使⽤Alpine版本的基础镜像包,进⾏构建⼀直会卡到
[INFO] fetch /alpine/v3.12/main/x86_64/
[INFO] fetch /alpine/v3.12/community/x86_64/
通过这个地址下载这⾥,然后下载不下来就开始报错。
[ERROR] The command '/bin/sh -c set -xe && apk --no-cache add ttf-dejavu fontconfig' returned a non-zero code: 2
或者
[ERROR] The command '/bin/sh -c set -xe && apk --no-cache add ttf-dejavu fontconfig' returned a non-zero code: 1
尝试修改Docker镜像源⽆效之后开始寻其他镜像源问题
问题原因
alpine本⾝APK镜像源地址在/etc/apk/repositories⽂件中,是⼀个国外镜像,下载速度感⼈,⼏百KB下
载半个多⼩时。所以我们要将该地址更换为国内的阿⾥源
解决Demo
FROM adoptopenjdk/openjdk8-openj9:alpine-slim
MAINTAINER ****************@*****
RUN mkdir -p /cim-railway/auth
#使⽤验证码字体包进⾏测试。第⼀步将apk源替换为国内阿⾥源。没有第⼀步将下载难产
RUN echo -e 'mirrors.aliyun/alpine/v3.6/main/\nmirrors.aliyun/alpine/v3.6/community/' > /etc/apk/repositories \
&& apk update \
&& apk upgrade \
&& apk --no-cache add ttf-dejavu fontconfig
在不使⽤Docker构建镜像时
只需要将/etc/apk/repositories⽂件中的两⾏镜像地址更换为下⾯地址即可
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论