Pendant la mise à niveau, j’ai exécuté cd /var/discourse; git pull; ./launcher rebuild app.
J’obtiens « Mise à niveau terminée » et « MAJ DE POSTGRES TERMINÉE ». Cette dernière indique de « reconstruire à nouveau », bien que cela ne semble faire aucune différence.
Malgré la fin de la mise à niveau, je ne peux pas démarrer l’application. L’exécution de ./launcher start app génère l’erreur suivante :
Impossible de trouver l'image 'local_discourse/app:latest' localement
/usr/bin/docker : Réponse d'erreur du démon : accès au téléchargement refusé pour local_discourse/app, le dépôt n'existe pas ou peut nécessiter une connexion 'docker login'.
Voir '/usr/bin/docker run --help'.
Je ne peux pas redémarrer mon application et je ne sais pas comment procéder.
./discourse-doctor n’aide pas (il détecte simplement que l’application n’est pas en cours d’exécution, tente de reconstruire et de redémarrer, et aboutit au même erreur).
Je ne peux pas joindre de fichier, étant un nouvel utilisateur, voici donc ce que je pense être l’extrait pertinent du journal de débogage :
Échec de la reconstruction de l'application.
Vérification de votre nom de domaine . . .
Connexion à community.gingkoapp.com réussie.
Vous devriez probablement supprimer tous les plugins non standard et reconstruire.
Tentative de redémarrage du conteneur existant . . .
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=REDACTED -e DISCOURSE_HOSTNAME=community.gingkoapp.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_USER_NAME=postmaster@community.gingkoapp.com -e DISCOURSE_SMTP_PASSWORD=REDACTED -h community-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:fc:04:ee:f5:11 local_discourse/app /sbin/boot
Impossible de trouver l'image 'local_discourse/app:latest' localement
/usr/bin/docker : Réponse d'erreur du démon : accès au téléchargement refusé pour local_discourse/app, le dépôt n'existe pas ou peut nécessiter une connexion 'docker login'.
Voir '/usr/bin/docker run --help'.
Échec du redémarrage du conteneur.
Je me trouve dans un environnement à espace limité (on me demande constamment de tenter de nettoyer les images), ce qui semble être une raison plausible de cet échec.
Je vais essayer les étapes listées et vous tiendrai informé.
Je ne suis pas sûr de savoir comment faire cela sans l’interface web (ou curl vers l’API), étant donné qu’elle est hors service. Mais je vais regarder ça. Je vais d’abord augmenter la taille du disque de mon droplet et voir si cela aide.
(à moins que vous vouliez dire que ma version de docker est ancienne ?)
Oh, je suis désolé. Je voulais dire que Docker est trop ancien. Essayez de le mettre à niveau en premier. Je suis vraiment désolé pour la faute de frappe et la confusion.
Pas de souci, j’ai compris que c’était ce que vous vouliez dire, puisque vous avez demandé la version de Docker. Je suis également sous 14.04, donc je vais d’abord passer à la 16.04.
Encore merci pour vos retours. Je publierai toute nouvelle mise à jour.
Si cela concerne un VPS, il n’est pas nécessaire de mettre à niveau le serveur actuel. Créer un nouveau serveur sous 20.04 et y déplacer votre site est beaucoup plus rapide et plus simple.
Oui, c’est ce que je fais en ce moment. Cela devrait être beaucoup plus rapide que de mettre à niveau l’actuel… croisons les doigts pour que je puisse restaurer depuis les fichiers de sauvegarde (auxquels j’ai toujours accès sur l’ancien serveur).
Toute version de Docker âgée de quelques années n’est même plus prise en charge par son développeur, alors comment pouvez-vous vous attendre à ce que Discourse la prenne en charge ?
Tout est rentré dans l’ordre. J’ai lancé un nouveau droplet chez Digital Ocean et restauré la sauvegarde. La dernière sauvegarde était probablement corrompue, mais j’ai au moins perdu un ou deux messages et j’ai réussi à restaurer à partir de la sauvegarde précédente.