Mit der Entwicklung der Technologie erhält die Containerisierungstechnologie immer mehr Aufmerksamkeit und Beliebtheit. Als eine der derzeit bekanntesten Containerisierungsplattformen ist Docker für verschiedene Unternehmen zu einem wichtigen Werkzeug geworden, um eine schnelle Anwendungsbereitstellung, kontinuierliche Integration, schnelle Iteration und Stabilität der Produktionsumgebung zu erreichen. Bei der Verwendung von Docker werden wir jedoch unweigerlich auf einige Probleme stoßen, darunter verstümmelte chinesische Zeichen, ein Problem, auf das jeder häufig stößt.
Das Problem verstümmelter chinesischer Zeichen tritt auf
Wenn der Docker-Container ausgeführt wird, müssen wir aufgrund unterschiedlicher Container-Images, Systeme, Umgebungen und Dienste zunächst die chinesische Schriftartdatei in das Docker-Image importieren und die Schriftart hinzufügen Pfad zur Umgebungsvariablen, um Chinesisch anzuzeigen. Andernfalls werden chinesische Schriftzeichen verstümmelt angezeigt.
Lösung 1:
Manuell die chinesische Schriftartdatei importieren:
Kopieren Sie die chinesische Schriftartdatei von Windows in den Docker-Container:
docker cp C:WindowsFontssimkai.ttf mycontainer:/usr/share/fonts
docker cp C:WindowsFontssimfang.ttf mycontainer:/usr/ share/fonts
docker exec mycontainer apk add fontconfig
docker exec mycontainer fc-cache -fv
docker exec mycontainer export LANG=zh_CN.UTF-8
docker exec mycontainer export LANGUAGE=zh_CN.UTF-8
docker exec mycontainer export LC_ALL=zh_CN.UTF-8
docker exec mycontainer export FONT_HOME=/ usr/share/fonts
docker exec mycontainer export JAVA_HOME=/usr
Lösung 2:
Verwenden Sie die voreingestellte Vorlage, um ein neues Docker-Image zu erstellen:
Wir können die Dockerfile-Datei verwenden, um ein neues Bild zu erstellen und chinesische Schriftarten hinzuzufügen Dateien direkt darauf, Dinge wie Schriftartenbibliotheken und Umgebungsvariablen.
Das Folgende ist ein Beispiel:
FROM alpine:3.11
RUN apk --no-cache add ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
ENV LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8 \ LC_ALL=zh_CN.UTF-8 \ FONT_HOME=/usr/share/fonts \ JAVA_HOME=/usr
ADD ./fonts/* ${FONT_HOME}/
RUN fc-cache -fv
CMD ["tail", "-f", "/dev/null"]
Im obigen Code haben wir Beginnen Sie mit Alpine Ausgehend vom Basis-Image von Linux 3.11 haben wir zunächst die ttf-dejavu-Schriftartenbibliothek und das Fontconfig-Plug-in installiert und dann unsere benutzerdefinierte chinesische Schriftartendatei zum Image hinzugefügt. Führen Sie abschließend den Befehl fc-cache aus, um die Schriftartenbibliothek zu aktualisieren und sicherzustellen, dass der Container Chinesisch korrekt verwenden kann.
Zusammenfassung
Das Problem der verstümmelten chinesischen Zeichen ist ein häufiges Problem bei der Verwendung von Docker. Bevor wir Docker verwenden, müssen wir zunächst den Zweck und die Anforderungen klären und unser Bestes geben, um das Problem der verstümmelten chinesischen Zeichen während der Bildproduktion zu lösen . Bei bestehenden Docker-Containern können wir die Anforderung einer normalen chinesischen Anzeige auch erfüllen, indem wir chinesische Schriftartdateien manuell importieren oder ein neues Bild einer voreingestellten Vorlage erstellen.
Das obige ist der detaillierte Inhalt vonSo lösen Sie verstümmelten chinesischen Docker-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!