Je rencontre le problème Your Docker installation is not working correctly après avoir exécuté ./launcher rebuild app.
L’erreur est docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.
… Je vois que l’une des astuces courantes pour résoudre ce problème est ./launcher cleanup, mais avant de le faire, j’aimerais vérifier s’il est sûr de l’utiliser, car je reçois :
WARNING! This will remove all stopped containers.
WARNING! This will remove all images without at least one container associated to them.
Aide ? Je veux juste m’assurer de ne pas supprimer quelque chose d’important ici.
L’exécution de ./launcher start app donne la même erreur :
docker: failed to register layer: Error processing tar file(exit status 1): write /usr/lib/x86_64-linux-gnu/libx265.a: no space left on device.
See 'docker run --help'.
Your Docker installation is not working correctly
…donc je ne connais toujours pas la réponse à la question : est-il sûr d’utiliser ./launcher cleanup lorsque le site n’est pas opérationnel ?
D’après la capture d’écran sous ‘docker images’ dans le premier message, il semble y avoir beaucoup d’anciennes images, mais je ne sais pas comment les cibler spécifiquement pour les supprimer, ni si cela causerait des problèmes.
Si le conteneur Docker est en cours d’exécution, il ne supprimera pas le conteneur. Si le conteneur n’est pas en cours d’exécution, il le supprimera, mais vous pouvez en reconstruire un nouveau avec ./launcher rebuild app.
Merci, mais ce n’est toujours pas très clair pour moi - Docker n’est pas mon point fort, donc je ne sais pas si supprimer et reconstruire un conteneur pourrait causer des problèmes sur mon site… Serait-il plus sûr de mettre l’application en marche d’abord en libérant de l’espace de manière sélective ? Comme ceci :
D’abord, libérer de l’espace en ciblant une image spécifique à supprimer
Ensuite, exécuter ./launcher start app
Une fois l’application lancée et en marche : ./launcher cleanup
… je ne suis pas sûr si cette précaution est nécessaire. Peut-être que simplement exécuter ./launcher cleanup directement fonctionnerait bien et ne supprimerait rien d’important, même si mon application n’est pas en marche.
Mais au cas où vous penseriez que l’approche ci-dessus pourrait être une option : connaissez-vous la commande pour cibler une image spécifique à supprimer (étape 1 ci-dessus) ? Voir mes options pour les images à supprimer ci-dessous.
Ce que je ferais, c’est d’abord supprimer une ou deux sauvegardes ? Cela devrait vous donner suffisamment d’espace pour que les choses fonctionnent.
Si vous exécutez ./launcher start app, alors ./launcher cleanup ne supprimera pas votre image qui fonctionne, et votre site continuera de fonctionner pendant que le nettoyage progresse.
Si par malchance vous supprimez votre image qui fonctionne, et que vous avez récemment mis à niveau, il y a de fortes chances que vous puissiez simplement faire un ./launcher rebuild app et que tout rentre dans l’ordre.
Si vous avez rencontré une erreur de mémoire lors de la reconstruction, j’ajouterais 1 Go de swap supplémentaire, bien que cela réduise votre espace disque disponible (Il semble que vous soyez sur un petit droplet avec 25 Go de RAM, ce qui est juste suffisant). Je lancerais un ./launcher cleanup avant chaque reconstruction, ou peut-être avez-vous simplement beaucoup de sauvegardes et devriez-vous les déplacer vers S3 ([Configurer un fournisseur de stockage d’objets compatible S3 pour les téléchargements](Configure an S3 compatible object storage provider for uploads --vous pouvez uniquement faire les sauvegardes, vous n’avez pas à faire tous les actifs comme décrit là-bas)).
La deuxième erreur n’était pas une erreur de mémoire, mais je n’ai pas pu identifier quelle était la nouvelle erreur : d’où le docteur.
Quoi qu’il en soit, ./discourse-doctor l’a résolu, j’aurais juste aimé savoir ce qui s’est réellement passé.
Merci pour votre aide !
Ma supposition était que vous confondiez la RAM (mémoire) avec l’espace disque. L’erreur de mémoire peut apparaître et disparaître, et l’erreur « erreur 127 » est cryptique et facile à manquer.