Maison> Opération et maintenance> Docker> le corps du texte

Comment résoudre le code tronqué chinois de Docker

PHPz
Libérer: 2023-04-04 13:37:10
original
5438 Les gens l'ont consulté

Avec le développement de la technologie, la technologie de conteneurisation reçoit de plus en plus d'attention et de faveur. En tant que l'une des plates-formes de conteneurisation les plus connues actuellement, Docker est devenue un outil important permettant à diverses entreprises de réaliser un déploiement rapide d'applications, une intégration continue, une itération rapide et une stabilité de l'environnement de production. Cependant, lors de l'utilisation de Docker, nous rencontrerons inévitablement certains problèmes, parmi lesquels les caractères chinois tronqués sont un problème que tout le monde rencontre souvent.

Le problème des caractères chinois tronqués se produit

Lorsque le conteneur Docker est en cours d'exécution, en raison de différentes images de conteneur, de différents systèmes, environnements et services, nous devons d'abord importer le fichier de police chinoise dans l'image Docker et ajouter le chemin de la police. à la variable d'environnement pour afficher le chinois. Sinon, les caractères chinois apparaîtront tronqués.

Solution 1 :

Importez manuellement le fichier de police chinoise :

Copiez le fichier de police chinoise de Windows vers le conteneur Docker :

  1. Recherchez la police chinoise sous Windows (généralement située dans le répertoire C:WindowsFonts), par exemple comme simkai.ttf et simfang.ttf ;
  2. Copiez le fichier de police dans le conteneur Docker, par exemple :

docker cp C:WindowsFontssimkai.ttf mycontainer:/usr/share/fonts

docker cp C:WindowsFontssimfang.ttf mycontainer:/usr/ share/fonts

  1. Installez les fichiers de polices dans la bibliothèque de polices du conteneur :

docker exec mycontainer apk add fontconfig

docker exec mycontainer fc-cache -fv

  1. Ajoutez le chemin de la police dans la variable d'environnement :

docker exec monconteneur export LANG=zh_CN.UTF-8

docker exec monconteneur export LANGUAGE=zh_CN.UTF-8

docker exec monconteneur export LC_ALL=zh_CN.UTF-8

docker exec monconteneur export FONT_HOME=/ usr/share/fonts

docker exec mycontainer export JAVA_HOME=/usr

Solution 2 :

Utilisez le modèle prédéfini pour créer une nouvelle image Docker :

Nous pouvons utiliser le fichier Dockerfile pour créer une nouvelle image et ajouter une police chinoise fichiers directement dessus, des choses comme les bibliothèques de polices et les variables d'environnement.

Ce qui suit est un exemple :

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
Copier après la connexion

ADD ./fonts/* ${FONT_HOME}/

RUN fc-cache -fv

CMD ["tail", "-f", "/dev/null"]

Dans le code ci-dessus, nous démarrer depuis Alpine À partir de l'image de base de Linux 3.11, nous avons d'abord installé la bibliothèque de polices ttf-dejavu et le plug-in fontconfig, puis avons AJOUTÉ notre fichier de police chinoise personnalisé dans l'image. Enfin, exécutez la commande fc-cache pour actualiser la bibliothèque de polices afin de garantir que le conteneur peut utiliser correctement le chinois.

Résumé

Le problème des caractères chinois tronqués est un problème courant dans l'utilisation de Docker. Avant d'utiliser Docker, nous devons d'abord clarifier l'objectif et les exigences, et faire de notre mieux pour résoudre le problème des caractères chinois tronqués lors de la production d'images. . Pour les conteneurs Docker existants, nous pouvons également répondre aux exigences d'affichage chinois normal en important manuellement des fichiers de polices chinoises ou en créant une nouvelle image d'un modèle prédéfini.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!