Problemlösungsvorgänge für Alpine Docker-Bildschriftarten

Problemlösungsvorgänge für Alpine Docker-Bildschriftarten

1. Führen Sie Schriftarten aus, öffnen Sie den Schriftartenordner und suchen Sie die Schriftartdatei, die Sie verwenden möchten.

2. Ändern Sie das Dockerfile, zum Beispiel:

VON alpine-jdk 
HINZUFÜGEN ./test.jar /opt/App/test.jar
#Kopieren Sie die Schriftdatei COPY ./simhei.ttf /usr/share/fonts/simhei.ttf 
#Zeichensatz festlegen ENV LANG en_US.UTF-8
#Installieren Sie die Schriftsoftware und schließen Sie die Schriftkonfiguration ab. Führen Sie apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* aus. 
ARBEITSVERZEICHNIS /opt/App/ 
EXPOSE 8080 
EINSTIEGSPUNKT ["java", "-jar"] 
CMD ["test.jar"]

Ergänzung: Dockerfile erstellt Alpine-Image/Linux verwendet APK zum Herunterladen und Festlegen von Ressourcen (Schriftpaket/anderes) Fehler/Schwierigkeit

Vor dem Bau beachten

Wenn dieser Fehler gemeldet wird:

Erstellen der OCI-Runtime fehlgeschlagen: systemd-cgroup-Flag übergeben, aber systemd-Unterstützung zum Verwalten von cgroups ist nicht verfügbar: unbekannt

Bitte löschen Sie "exec-opts": ["native.cgroupdriver=systemd"] in daemon.json

Persönliche Probleme

Wenn ich Dockerfile zum Erstellen eines Images verwende, verwende ich die Alpine-Version des Basis-Image-Pakets, und der Build bleibt immer hängen.

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

Laden Sie es hier über diese Adresse herunter. Wenn der Download fehlschlägt, wird ein Fehler gemeldet.

[FEHLER] Der Befehl '/bin/sh -c set -xe && apk --no-cache add ttf-dejavu fontconfig' hat einen Code ungleich Null zurückgegeben: 2

oder

[FEHLER] Der Befehl '/bin/sh -c set -xe && apk --no-cache add ttf-dejavu fontconfig' hat einen Code ungleich Null zurückgegeben: 1

Nachdem der Versuch, die Docker-Image-Quelle zu ändern, fehlgeschlagen war, begann ich mit der Suche nach anderen Image-Quellen.

Ursache

Die Quelladresse des Alpine APK-Mirrors befindet sich in der Datei /etc/apk/repositories. Es handelt sich um einen Fremdspiegel mit einer beeindruckenden Downloadgeschwindigkeit. Für den Download von einigen hundert KB dauert es mehr als eine halbe Stunde. Wir müssen also die Adresse auf die inländische Ali-Quelle ändern

Demo lösen

VON adoptopenjdk/openjdk8-openj9:alpine-slim
WARTUNGSBEDIENER ****************@*****.com
RUN mkdir -p /cim-railway/auth
#Verwenden Sie zum Testen das Bestätigungscode-Schriftartenpaket. Der erste Schritt besteht darin, die APK-Quelle durch die inländische Alibaba-Quelle zu ersetzen. Ohne den ersten Schritt wird der Download schwierig durchzuführen sein: 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 füge ttf-dejavu Fontconfig hinzu

Beim Erstellen von Images ohne Docker

Ersetzen Sie einfach die beiden Zeilen der Spiegeladressen in der Datei /etc/apk/repositories durch die folgenden Adressen

https://mirrors.aliyun.com/alpine/v3.6/main/

https://mirrors.aliyun.com/alpine/v3.6/community/

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Implementierung eines Tomcat-Images, das mit Dockerfile basierend auf Alpine erstellt wurde
  • Implementierung eines Crawler-Scrapy-Image, das von Dockerfile basierend auf Alpine erstellt wurde
  • So erstellen Sie ein php-nginx-alpine-Image von Grund auf in Docker
  • Perfekte Lösung für das Zeitzonenproblem des Docker Alpine-Image

<<:  So verwenden Sie das Marquee-Tag im XHTML-Code

>>:  Detaillierte Erläuterung von CSS, um den Effekt der Beleuchtung des Rahmens durch Nachahmung der Windows 10-Maus zu erzielen

Artikel empfehlen

Vergleich der Effizienz der Dateneinfügung in MySQL

Beim Einfügen von Daten stellte ich fest, dass ic...

Detaillierte Analyse des React Diff-Prinzips

Inhaltsverzeichnis Diffing-Algorithmus Schicht-fü...

Vue+el-table realisiert das Zusammenführen von Zellen

In diesem Artikelbeispiel wird der spezifische Co...

Neunundvierzig JavaScript-Tipps und Tricks

Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...

So fragen Sie ab, ob die MySQL-Tabelle gesperrt ist

Spezifische Methode: (Empfohlenes Tutorial: Lern-...

Teilen Sie 9 Linux Shell Scripting Tipps für die Praxis und Interviews

Vorsichtsmaßnahmen 1) Interpreter am Anfang hinzu...

Vollständiger Vue-Code zur Implementierung der Single-Sign-On-Steuerung

Hier ist zu Ihrer Information eine Vue-Single-Sig...