J’ai exécuté la dernière mise à jour. La page de mise à jour m’a d’abord demandé de mettre à jour le plugin Docker. Après l’avoir fait, j’ai reçu le message indiquant que je devrais reconstruire les applications sur le serveur car il y avait un problème avec l’image du site, ce qui semble se produire environ une fois sur trois ou quatre mises à jour.
Sur le serveur, en essayant de reconstruire, j’obtiens ce message d’erreur :
x86_64 arch detected.
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (83f3d2e718d3bedaac581e14f9ce21eed1c41564483523b3a7ae2a2af1baf6fe): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Si j’essaie discourse-doctor, j’obtiens un message similaire :
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (8937ea42fba161e42f9ffde7b2958bdba6212f0030aaebbebfe15a1fe69a0156): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Failed to restart the container.
Le site lui-même affiche une erreur SSL.
Quelqu’un sait ce qui pourrait causer cela ?
Vous avez probablement un autre serveur web ou un proxy inverse en cours d’exécution sur le serveur lui-même, et celui-ci occupe le port 443
Pouvez-vous partager la sortie de
netstat -tulpn | grep 443
Merci pour votre réponse @itsbhanusharma
(Tous les processus n'ont pas pu être identifiés, les informations sur les processus non détenus
ne seront pas affichées, vous devriez être root pour tout voir.)
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
avec sudo
sudo netstat -tulpn | grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 868/nginx: master p
J’ai essayé de supprimer tous les plugins comme suggéré, et j’ai relancé discourse-doctor, mais il ne compile pas et ne démarre pas.
Pourriez-vous partager votre app.yml (en masquant tous les mots de passe et informations sensibles) ?
En attendant, essayez :
sudo systemctl stop nginx
Puis essayez de reconstruire ?
D’après ce que je vois, vous avez d’une manière ou d’une autre un Nginx externe en cours d’exécution sur ce serveur. À moins que vous ne l’ayez configuré pour faire du reverse proxy pour Discourse, c’est la cause de votre échec de reconstruction.
Merci beaucoup @itsbhanusharma. Cette commande, puis la reconstruction de l’application ont permis de la remettre en ligne. Je n’ai aucune idée de ce qui a causé ce problème.
Si vous n’avez pas installé nginx sur votre serveur, vous pourriez vouloir faire :
sudo apt purge nginx*
sudo apt autoremove
Pour vous assurer que nginx ne démarre plus.