您好,登錄后才能下訂單哦!
這篇文章主要介紹如何解決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下載半個多小時。所以我們要將該地址更換為國內的阿里源
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鏡像字體的問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。