Maison  >  Article  >  Opération et maintenance  >  Limite de taille du journal Docker et changement de répertoire de stockage

Limite de taille du journal Docker et changement de répertoire de stockage

WBOY
WBOYavant
2023-06-09 19:18:421261parcourir

Limite de taille du journal Docker et changement de répertoire de stockage

Divers environnements du produit utilisent beaucoup de machines virtuelles CentOS. Par défaut, l'espace du répertoire racine est de 50 Go. À mesure que la durée d'utilisation devient de plus en plus longue, le l'espace va augmenter.

La méthode que j'ai toujours adoptée est d'effacer les images inutiles et les logs Docker, afin que le serveur soit toujours disponible. Ce n'est que lorsque le nettoyage est devenu inutile que j'ai pensé à trouver d'autres méthodes.

Lorsque nous ne sommes pas contraints à une situation désespérée, nous nous appuyons habituellement sur les méthodes et les outils que nous connaissons. Cela n'est peut-être pas efficace, mais cela peut résoudre le problème. pas inutilisable et nocif. Cela incitera les gens à rester dans leur zone de confort et à ne pas vouloir en sortir.

Les autres méthodes mentionnées ci-dessus sont en fait très simples et peuvent être obtenues en vérifiant les informations. Elles consistent à limiter la taille du journal Docker et à basculer le répertoire de données Docker vers un stockage externe.

Log limit

1. Modifiez le fichier de configuration Docker /etc/docker/daemon.json Si le fichier n'existe pas, créez-en un nouveau :

.
sudo vi /etc/docker/daemon.json
# 🎜🎜#2. Ajoutez le contenu suivant au fichier pour limiter la taille d'un seul fichier journal à 100 Mo et conserver les 5 fichiers journaux les plus récents. Ici, nous utilisons les paramètres max-size et max-file pour contrôler la taille et le nombre de journaux :

{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
}

    max-size : La taille maximale d'un seul fichier journal ; ##🎜🎜 #max-file : Conservez au maximum plusieurs fichiers journaux. Lorsque la taille du journal d'un seul fichier dépasse le paramètre, un nouveau fichier journal sera généré.
  • 3. Redémarrez le service Docker pour que la configuration prenne effet :
  • sudo systemctl restart docker
Changement de répertoire de données

Dans CentOS, la valeur par défaut de Docker répertoire Pour /var/lib/docker, vous pouvez utiliser l'option data-root dans le fichier de configuration Docker pour définir le répertoire de données Dcoker. Les étapes spécifiques sont les suivantes :

1. docker/daemon.json Ajoutez l'option data-root au fichier de configuration :

{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
"data-root": "/home/docker"
}

/home/docker Le répertoire est un stockage externe ou un volume avec un espace relativement grand.

  • 2. Désactivez Docker.
  • sudo systemctl stop docker
3. Copiez le contenu du répertoire par défaut de Docker dans le nouveau répertoire :

sudo rsync -aqxP /var/lib/docker/ /home/docker/

Un outil de synchronisation à distance des fichiers et répertoires ;# 🎜🎜 #

indique à rsync de synchroniser les fichiers et les répertoires en mode archive, où a signifie mode archive, q signifie mode silencieux (aucune sortie n'est affichée), x signifie ne pas franchir les limites du système de fichiers et P .
  • 4. Changez le nom du répertoire par défaut en bak :
  • mv /var/lib/docker /var/lib/docker.bak
  • L'avantage est que vous pouvez sauvegarder les données d'origine et les supprimer après l'opération est stable et l'autre consiste à empêcher la lecture du répertoire d'origine car la configuration ne prend pas effet.

5. Activer Dcoker :

sudo systemctl start docker

Dans la troisième étape ci-dessus, la commande rsync a été utilisée pour synchroniser le contenu. La signification de cette commande est d'utiliser l'outil rsync pour synchroniser. l'ordinateur local Synchronisez tous les fichiers et sous-répertoires du répertoire /var/lib/docker/ avec /home/docker/ sur un autre ordinateur local

Avant cela, utilisez cp et scp pour faire fonctionner des fichiers ou des répertoires Il y a beaucoup. Cette fois, j'ai découvert l'outil de commande rsync lorsque je cherchais des informations, j'ai donc continué à en apprendre davantage sur lui et sur cp et scp.

La différence entre rsync et cp et rsync

Méthode de copie : cp et scp copieront l'intégralité du fichier vers l'emplacement cible, tandis que rsync copiera uniquement le ceux qui doivent être mis à jour. En partie, cela améliore la vitesse et l'efficacité de la réplication.

Supportabilité : rsync prend en charge davantage d'opérations, telles que la synchronisation de fichiers, la sauvegarde de fichiers, la récupération de fichiers, etc. cp et scp prennent uniquement en charge la copie de fichiers.
  • Méthode de transmission : cp copie les fichiers entre les systèmes de fichiers locaux, scp effectue des opérations à distance et rsync peut synchroniser les fichiers entre les machines locales ou distantes.
  • Efficacité : rsync est plus efficace car il copie uniquement les fichiers qui doivent être mis à jour.
  • Options : rsync fournit plus d'options et d'options de configuration, telles que la compression, le transfert partiel, la synchronisation entre systèmes de fichiers, etc.
  • En bref, rsync est un outil de copie et de synchronisation de fichiers plus puissant et efficace. Si vous devez effectuer des opérations de synchronisation, de sauvegarde et de récupération de fichiers entre des machines locales ou distantes, il est recommandé de le faire. utilisez-le. Et cp et scp conviennent à la simple copie de fichiers locaux et au transfert de fichiers à distance.
  • Résumé

À travers cette étude des restrictions de journalisation et du changement de répertoire, j'ai deux pensées :

1. Ce n'est pas loin de vous, cela dépend si vous êtes prêt à faire un pas en avant et à l'explorer. En d'autres termes, vous ne pouvez pas vous en contenter et n'avez pas la mentalité du « ce n'est pas inutilisable ». il en va de même pour la fabrication de produits et l’apprentissage des compétences.

2. De nombreuses compétences acquises après le travail s'acquièrent en résolvant constamment des problèmes. Cela vous rendra progressivement plus expérimenté, mais pas systématique. Même si vous vous sentez très familier avec un certain domaine, je pense que c'est nécessaire. étudiez systématiquement, vous pourrez certainement éliminer de nombreux angles morts.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer