Conseils pour gagner de la place ?

Nous gérons un site Discourse auto-hébergé sur DigitalOcean et disposons d’un disque de 25 Go. Je viens d’essayer de mettre à jour notre image Discourse et j’ai reçu un message indiquant que vous aurez besoin de plus d’espace pour continuer. Après avoir nettoyé l’image et les conteneurs Docker, il nous manque encore 0,4 Go.

Des conseils pour économiser de l’espace ? À la fois pour pouvoir effectuer la mise à jour maintenant et pour économiser de l’espace à l’avenir. Je sais que nous devrons bientôt redimensionner, mais il serait utile de pouvoir effectuer au moins une autre mise à jour de l’image Discourse.

4 « J'aime »

Stockez-vous des sauvegardes localement ?
Si oui, peut-être que supprimer quelques anciennes pourrait aider. 0,4 Go (soit 400 Mo) devrait être gérable.

Vous pourriez également essayer de libérer de l’espace sur le système hôte.

1 « J'aime »

essayez de redémarrer votre serveur puis réessayez si vous êtes sûr qu’il y a assez d’espace.

Nous utilisons la fonctionnalité de sauvegarde de DigitalOcean. Je n’ai pas vu d’option pour supprimer manuellement l’une de nos sauvegardes.

Comment puis-je procéder ? Je n’ai pas d’expérience en programmation, mais je suis capable de comprendre quoi faire et pourquoi après avoir reçu des instructions.

J’ai essayé de redémarrer et aucun changement.

Après avoir exécuté sudo du -h --max-depth 1, voici mes résultats :

Essayez de purger les objets Docker inutilisés

1 « J'aime »

À ce stade, je m’éviterais des ennuis et je ferais le travail pour redimensionner maintenant.

3 « J'aime »

J’ai tout supprimé sauf les volumes inutilisés car docker volume ls a montré que nous n’en avions qu’un.

as-tu essayé ?

./launcher cleanup

1 « J'aime »

Oui !

J’ai cependant creusé un peu plus dans nos images Docker avec docker images -a, et j’ai vu ceci.

Que se passe-t-il avec <none> ?

1 « J'aime »

Quelques recherches m’ont mené à ce commentaire très intéressant.

rofranoJohn Rofrano

Nov '17

Il est important de comprendre pourquoi vous avez des images intermédiaires sans étiquette qui apparaissent comme <none> <none> afin de les éviter, car, comme vous l’avez constaté, vous ne pouvez pas les supprimer si elles sont utilisées.

La raison pour laquelle des images sans étiquette se produisent est que vous avez construit une image, puis vous avez modifié le Dockerfile et reconstruit cette image, et elle a réutilisé certaines des couches de la construction précédente. Vous avez maintenant une image sans étiquette qui ne peut pas être supprimée car certaines de ses couches sont utilisées par une nouvelle version de cette image.

La solution est de :

  • Supprimer la nouvelle version de l’image
  • Supprimer l’image sans étiquette et
  • Reconstruire la nouvelle version de l’image afin qu’elle possède toutes les couches.

Il vous restera une seule image étiquetée qui contient toutes les couches des images précédentes sans étiquette et la nouvelle image.

~jr

Je ne m’attendais pas à trouver 2,64 Go dans une image Docker , alors j’essaie de comprendre ce qui se passe. Si je n’ai pas du tout besoin de cette image, alors nous sommes certainement loin d’avoir besoin de redimensionner.

Avez-vous fait un
./launcher cleanup
Mais je vous recommande de redimensionner. Je suis surpris que vous ayez tenu aussi longtemps avec 25 Go.

Avez-vous également regardé dans shared/backups/default

Je ne ferais certainement pas confiance aux sauvegardes de DigitalOcean pour sauvegarder votre forum.

2 « J'aime »

Combien de temps ? Je ne vois aucun indice à ce sujet - je sais que j’utilise avec bonheur un forum sur 20 Go et un autre sur 25 Go.

Sous shared, vous pourriez avoir beaucoup de données de sauvegarde (peut-être dans shared/standalone/backups/default). Vous pourriez également avoir d’anciennes copies de bases de données ou de vieux fichiers journaux. Je vous recommande d’exécuter
du -kx / | sort -n | tail -49
ou similaire.

Il est juste de noter que vous pouvez gagner du temps, au détriment de l’argent, en passant à une instance plus grande. Ou vous pouvez faire le compromis inverse.

Cela m’inquiète un peu. DO pourrait bien vous aider avec les sauvegardes de votre système entier, mais si c’était moi, je serais plus heureux de savoir comment faire des sauvegardes de Discourse et comment obtenir une copie locale sécurisée. Et comment élaguer les sauvegardes. (Si par malheur DO supprimait votre instance et votre compte, vous voudriez que vos données survivent à cela.)

:woman_facepalming:t3: Nous utilisons également la fonctionnalité de sauvegarde de Discourse, et j’ai réalisé que nous n’avions pas effacé les anciennes sauvegardes là-bas.

Eh bien, j’ai supprimé toutes les sauvegardes sauf la plus récente en utilisant l’interface Discourse et j’ai également téléchargé la sauvegarde la plus récente sur mon disque local. Cela me ramène à moins de 100 Mo d’espace disponible.

Voici ce que j’obtiens lorsque j’exécute cette commande dans var/discourse

656876  /var/lib/docker/overlay2/81fd81f27d0d8fe795f510fe8d70c4ecad96405b0e1dbb57f0440fe9c398a30d/diff/var/www/discourse/vendor
819624  /var/log/journal/e734ad1931dbee4740881cc15c9e7a9a
826292  /var/discourse/shared/standalone
826296  /var/discourse/shared
831476  /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/home/discourse/.cache/yarn/v6
831484  /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/home/discourse/.cache/yarn
831492  /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/home/discourse/.cache
832188  /var/discourse
845992  /lib/modules
850136  /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/home/discourse
850144  /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/home
994980  /var/lib/docker/overlay2/2749f8a24b3e28af399b256ecab7f2db0cb146939a0ef56e83858a0e696c3df6/diff/usr/lib
1089092 /var/lib/docker/overlay2/9817d45d2728572ad6dc4d62df5944dfad69c35b76753ceb260e0130863ece49/diff/var/www/discourse
1089096 /var/lib/docker/overlay2/9817d45d2728572ad6dc4d62df5944dfad69c35b76753ceb260e0130863ece49/diff/var/www
1130168 /var/lib/docker/overlay2/9817d45d2728572ad6dc4d62df5944dfad69c35b76753ceb260e0130863ece49/diff/var
1177644 /var/lib/docker/overlay2/9817d45d2728572ad6dc4d62df5944dfad69c35b76753ceb260e0130863ece49/diff
1177660 /var/lib/docker/overlay2/9817d45d2728572ad6dc4d62df5944dfad69c35b76753ceb260e0130863ece49
1224436 /var/lib/docker/overlay2/81fd81f27d0d8fe795f510fe8d70c4ecad96405b0e1dbb57f0440fe9c398a30d/diff/var/www/discourse
1224440 /var/lib/docker/overlay2/81fd81f27d0d8fe795f510fe8d70c4ecad96405b0e1dbb57f0440fe9c398a30d/diff/var/www
1224444 /var/lib/docker/overlay2/81fd81f27d0d8fe795f510fe8d70c4ecad96405b0e1dbb57f0440fe9c398a30d/diff/var
1234612 /lib
1248080 /var/lib/docker/overlay2/81fd81f27d0d8fe795f510fe8d70c4ecad96405b0e1dbb57f0440fe9c398a30d/diff
1248096 /var/lib/docker/overlay2/81fd81f27d0d8fe795f510fe8d70c4ecad96405b0e1dbb57f0440fe9c398a30d
1342320 /var/lib/docker/overlay2/58e9df9d9e2e10efb3dcf68771edd172664f8d91e3aa2e0b280fd4549bfd2a91/diff/usr
1516440 /usr
1543656 /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/var/www/discourse
1543664 /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/var/www
1558580 /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff/var
1659548 /var/lib/docker/overlay2/58e9df9d9e2e10efb3dcf68771edd172664f8d91e3aa2e0b280fd4549bfd2a91/diff
1659564 /var/lib/docker/overlay2/58e9df9d9e2e10efb3dcf68771edd172664f8d91e3aa2e0b280fd4549bfd2a91
2040472 /var/lib/docker/overlay2/2749f8a24b3e28af399b256ecab7f2db0cb146939a0ef56e83858a0e696c3df6/diff/usr
2171304 /var/log/journal/d893af269dfb5f73239a5b6761d49ea0
2388612 /var/lib/docker/overlay2/2749f8a24b3e28af399b256ecab7f2db0cb146939a0ef56e83858a0e696c3df6/diff
2388628 /var/lib/docker/overlay2/2749f8a24b3e28af399b256ecab7f2db0cb146939a0ef56e83858a0e696c3df6
2461904 /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058/diff
2461924 /var/lib/docker/overlay2/7bedcd4746ebce6e3fe7bbb5ec2c987a1c046efc715fad1e53201b18b97b6058
3064672 /var/log/journal
3276268 /var/log
10107180        /var/lib/docker/overlay2
10131984        /var/lib/docker
10396840        /var/lib
14869684        /var
20007992        /

J’ai reçu des instructions supplémentaires sur la façon de gérer ce qui suit :

Les détails sont :

rofranoJohn Rofrano

1

20h

La commande pour supprimer une image est :

docker rmi {nom_image}

{nom_image} est le nom de l’image que vous souhaitez supprimer. Vous pouvez également utiliser l’ID de l’image pour supprimer l’image (par exemple, docker rmi {id_image}). C’est ce que vous devrez utiliser pour supprimer une image nommée <none>.

Par exemple, supposons que vous ayez les images suivantes :

REPOSITORY           TAG        IMAGE ID       CREATED              SIZE
my-new-image         latest     c18f86ab8daa   12 secondes ago       393MB
<none>               <none>     b1ee72ab84ae   Il y a environ une minute   393MB
my-image             latest     f5a5f24881c3   Il y a 2 minutes       393MB

Il est possible que l’image <none> ne puisse pas être supprimée car my-new-image utilise certaines de ses couches. Ce que vous devez faire est :

docker rmi my-new-image:latest
docker rmi b1ee72ab84ae
docker built -t my-new-image .

Ce qui supprime my-new-image:latest qui réutilise des couches de l’image <none>. Il supprime ensuite l’image <none> en utilisant son ID d’image b1ee72ab84ae. Enfin, il reconstruit my-new-image en créant toutes les couches nécessaires.

Assurez-vous également de ne pas avoir de conteneurs arrêtés qui utilisent toujours l’image « sans étiquette » <none>. Utilisez docker ps -a pour voir toutes les images, y compris celles qui sont sorties. Si c’est le cas, utilisez docker rm {id_conteneur} pour supprimer le conteneur, puis essayez de supprimer à nouveau l’image <none>.

Qu’en pensez-vous tous ?

Je pense que vous pouvez améliorer les choses ici :

Voir cet échange précédent :

et

3 « J'aime »

Cela a fonctionné et j’ai également modifié la politique !

Je veux toujours traquer le problème avec l’image <none> (car il est ridicule qu’elle prenne plus de 2 Go d’espace), mais vous avez résolu mon problème le plus immédiat de création de suffisamment d’espace pour la mise à niveau ! Merci !!

3 « J'aime »

Absolument vrai ! Pour l’instant, je m’amuse beaucoup à apprendre de nouvelles choses, donc le temps en vaut la peine.