Site inaccessible depuis le navigateur - problèmes Docker

J’essayais d’installer Forest Admin et cela nécessitait docker-compose.

Comme je ne l’avais pas, je l’ai installé :

sudo apt install docker-compose

Mais lorsque j’ai essayé de l’exécuter, j’ai obtenu une erreur :

docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

J’ai essayé plusieurs choses et l’une des recommandations était de redémarrer Docker :

sudo systemctl restart docker
Failed to restart docker.service: Unit docker.service is masked.

J’ai donc démasqué le service et redémarré, mais ensuite je n’ai plus pu accéder à l’application :

sudo systemctl unmask docker
Removed /etc/systemd/system/docker.service.

sudo systemctl restart docker
# no error

J’ai pu reconstruire l’image et cela s’est terminé sans erreur :

sudo /var/discourse/launcher rebuild app

Mais lorsque j’accède à l’URL, elle n’est pas accessible.

Par désespoir, j’ai aussi essayé de mettre à jour Docker et de reconstruire l’image plusieurs fois, mais sans succès :

wget -qO- https://get.docker.com/ | sh

sudo /var/discourse/launcher rebuild app

Je suis à court d’idées. Y a-t-il autre chose que je devrais essayer ?

J’aimerais éviter de devoir restaurer à partir d’une sauvegarde car je perdrais certaines données, mais si c’est la seule option, quelle est la meilleure approche ?

  • Restaurer ma dernière sauvegarde Digital Ocean
  • Restaurer ma dernière sauvegarde Discourse

Je ne sais pas si c’est vous qui avez cassé Docker ou si Forest Admin empêche Discourse de fonctionner. Quel problème Forest Admin résout-il ?

Merci, Jay. Oublions Forest Admin. Je l’ai retiré pour l’instant. Y a-t-il autre chose que je puisse faire pour diagnostiquer le problème ?

Je suis presque certain d’avoir cassé Docker. Au cas où cela serait pertinent, avant j’avais Docker 18.09.6, build 481bc77, et maintenant j’ai 20.10.2, build 2291f61.

D’accord. Il s’avère que la solution était beaucoup plus simple : il me suffisait simplement de redémarrer nginx :sweat_smile:

Lorsque j’ai essayé de le faire, j’ai obtenu cette erreur :

sudo service nginx restart
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

Je n’ai rien vu d’évident dans les journaux, mais le redémarrage du serveur a fait l’affaire :

sudo shutdown -r now

Maintenant, le site fonctionne correctement.

3 « J'aime »

Vous n’avez pas besoin de nginx. Je suppose que lorsque vous l’avez redémarré, Discourse a réussi à prendre le port 80 pendant que nginx était en cours de redémarrage. Vous avez eu de la chance que Discourse se soit lancé avant nginx au redémarrage. Vous devriez désinstaller ou désactiver nginx (sauf si vous l’avez configuré comme proxy inverse, ce que vous ne pouvez pas faire avec discourse-setup).

1 « J'aime »

Merci, Jay. J’avais configuré nginx comme proxy inverse pour afficher une page élégante pendant mes reconstructions.

2 « J'aime »