如何解决Alpine Docker镜像字体的问题

发布时间:2021-03-24 11:34:13 作者:小新
来源:亿速云 阅读:1051

这篇文章主要介绍如何解决Alpine Docker镜像字体的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、运行 fonts ,打开字体文件夹,找到要用的字体文件;

2、修改Dockerfile,例如:

FROM alpine-jdk 
ADD ./test.jar /opt/App/test.jar
#拷贝字体文件
COPY ./simhei.ttf /usr/share/fonts/simhei.ttf 
#设置字符集
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": ["native.cgroupdriver=systemd"]删掉

个人问题

我使用Dockerfile构建镜像时,使用Alpine版本的基础镜像包,进行构建一直会卡到

[INFO] fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
[INFO] fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz

通过这个地址下载这里,然后下载不下来就开始报错。

[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 ****************@*****.com
RUN mkdir -p /cim-railway/auth
#使用验证码字体包进行测试。第一步将apk源替换为国内阿里源。没有第一步将下载难产
RUN echo -e 'https://mirrors.aliyun.com/alpine/v3.6/main/\nhttps://mirrors.aliyun.com/alpine/v3.6/community/' > /etc/apk/repositories \
 && apk update \
 && apk upgrade \
 && apk --no-cache add ttf-dejavu fontconfig

在不使用Docker构建镜像时

只需要将/etc/apk/repositories文件中的两行镜像地址更换为下面地址即可

以上是“如何解决Alpine Docker镜像字体的问题”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 【URLOS开发入门】docker官方系统镜像——Alpine入门教程
  2. 怎么在alpine镜像中添加ansible服务

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

alpine docker 镜像

上一篇:docker可视化工具Portainer部署并汉化的操作示例

下一篇:MySQL中EXPLAIN语句如何使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》