Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 8653|Répondre: 6

Les journaux Docker remplissent les disques et la migration des données

[Copié le lien]
Publié sur 07/02/2022 10:21:43 | | | |
Le collègue a réagi au fait que le système ne pouvait pas se connecter à l’environnement de test, a vérifié de manière décisive la surveillance, a constaté que le port de service était ouvert, s’est connecté au serveur pour vérifier l’utilisation du disque dur et a constaté que le répertoire monté sur un certain disque était plein, comme montré dans la figure ci-dessous :



Le disque est à 100 % le disque utilisé par l’application docker, et on soupçonne d’abord que l’impossibilité d’écrire des fichiers journals empêche le module de fournir des services au monde extérieur.

CentOS compte la taille de chaque dossier et recherche les fichiers volumineux
https://www.itsvse.com/thread-9542-1-1.html
Cherchez les fichiers volumineux et enfin localisez-les dans le sous-répertoire /var/lib/docker/containers/Un certain fichier json.log prend 30G

Nettoyage des journaux de conteneurs (traitement des symptômes)

Afin de permettre au récipient de servir normalement immédiatement. Solution temporaire : nettoyer rapidement ces fichiers, libérer de l’espace sur le disque dur, le script est le suivant :

Si le conteneur docker fonctionne, alors après avoir supprimé les logs avec rm -rf, vous constaterez que l’espace disque n’est pas libéré via df -h. La raison est que sur les systèmes Linux ou Unix, supprimer un fichier via rm-rf ou un gestionnaire de fichiers le délie de la structure de répertoires du système de fichiers. Si le fichier est ouvert (et qu’un processus est en cours), le processus pourra toujours lire le fichier et l’espace disque sera occupé en permanence. La bonne posture est cat /dev/null > *-json.log, et bien sûr vous pouvez aussi redémarrer Docker après l’avoir retiré via rm-rf.

Remarque:Créez un nouveau script dans le répertoire du disque libre, sinon le script ne peut pas être créé normalement


Définir la taille du journal du conteneur Docker (cause principale)

Définissez la taille maximale logarithmique d’un service conteneur, et ajoutez un paramètre pour définir la taille logarithmique du conteneur lors du démarrage du conteneur, par exemple :

Taille maximale = 500 m, ce qui signifie que la limite supérieure de la taille de la taille de la limie d’un conteneur est de 500 M,
max-file=3, ce qui signifie qu’un conteneur possède trois logs, à savoir id+.json, id+1.json et id+2.json.


Docker a migré vers un nouveau disque

Les données liées à Docker existent sur le disque système, le disque système ne fait que 50G, et le disque de données 100G, comment transférer les données existantes de Docker vers le disque de données ?

Pour docker installé avec la méthode système yum de CentOS, le répertoire d’installation par défaut devrait être : /var/lib/docker

Docker version < v17.05.0

Parce que dockerd peut spécifier le chemin de stockage image et conteneur via le graphe de paramètres, comme –graph=/var/lib/docker, il suffit de modifier le fichier de configuration pour spécifier les paramètres de démarrage.

Le fichier de configuration de Docker peut définir la plupart des paramètres de processus en arrière-plan, et l’emplacement de stockage dans chaque système d’exploitation est incohérent, dans Ubuntu : /etc/default/docker, et dans CentOS : /etc/sysconfig/docker.

Docker version >= v17.05.0

Parce que Docker a officiellement supprimé la fonction graphe dans cette version, si vous avez Docker version >= v17.05.0 installée sur votre machine, vous ne pouvez pas modifier le répertoire d’installation (stockage) par défaut de Docker en spécifiant le paramètre graphe dans le fichier de configuration /etc/default/docker.

Il existe d’autres moyens pour la nouvelle version de Docker d’atteindre notre objectif de modification du répertoire d’installation (stockage) : en modifiant (nouveau) /etc/docker/daemon.json pour spécifier la valeur du paramètre racine de données.

Configuration du répertoire des démons Docker :La connexion hyperlientérée est visible.

Préparation à la migration : arrêter toutes les applications conteneurs et arrêter les services docker (systemctl stop docker).


Docker examine les paramètres de redémarrage des conteneurs et les conteneurs d’arrêt en vrac
https://www.itsvse.com/thread-10130-1-1.html
Créez un nouveau répertoire dans /home/software avec la commande suivante :

Migrez le dossier /var/lib/docker vers le dossier /home/software/docker (il est recommandé de le copier, puis de supprimer le fichier du dossier /var/lib/docker quand tout est en ordre), la commande est la suivante :

Lors de la copieAssurez-vous d’ajouter le paramètre -a, sinon certains conteneurs ne fonctionneront pas correctement!!!!!

Consultez toutes les connexions logicielles et points de fichiers dans le répertoire courant avec la commande suivante :


Modifiez le fichier /etc/docker/daemon.json avec la commande suivante :



Enregistrez, puis lancez le service docker avec la commande suivante :

Lance le conteneur, les tests tournent tous normalement, et enfin,Supprimez le dossier /var/lib/docker



(Fin)




Précédent:Vérifiez les temps d’allumage et d’arrêt du système Linux
Prochain:Usines de filtres intégrées à Spring Cloud Gateway
Publié sur 13/02/2022 16:36:29 |
Apprends à apprendre。。。。。
 Propriétaire| Publié sur 24/02/2022 09:38:26 |
Docker : comment supprimer une image non
https://www.itsvse.com/thread-10112-1-1.html
 Propriétaire| Publié sur 24/02/2022 13:21:48 |
Liste
description
ID et nom du conteneurL’identifiant et le nom du conteneur
% CPU et pourcentage MEMLe pourcentage de CPU et de mémoire hôte que le conteneur utilise
USAGE / LIMITE DE LA MEM.La mémoire totale utilisée par le conteneur, ainsi que la quantité totale de mémoire autorisée à être utilisée
E/S NETLa quantité de données qu’un conteneur envoie et reçoit via son interface réseau
BLOC D’ENTRÉE/SLa quantité de données qu’un conteneur lit et écrit depuis un dispositif bloc sur l’hôte
PIDsLe nombre de processus ou de threads créés par le conteneur


 Propriétaire| Publié sur 25/03/2022 14:45:13 |
Vous pouvez trouver l’application conteneur correspondante en interrogeant la valeur Name du fichier /var/lib/docker/containers/xxxx/config.v2.json.



Publié sur 07/12/2022 14:17:31 |
Les journaux Docker remplissent les disques et la migration des données
 Propriétaire| Publié sur 17/04/2023 09:59:49 |
Docker vide individuellement les journaux d’un conteneur avec la commande suivante :

Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com