Sito non accessibile dal browser - problemi docker

Stavo cercando di installare Forest Admin e richiedeva docker-compose.

Poiché non lo avevo, l’ho installato:

sudo apt install docker-compose

Ma quando ho provato ad eseguirlo, ho ricevuto un errore:

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.

Ho provato diverse cose e una delle soluzioni consigliate era riavviare Docker:

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

Quindi l’ho sbloccato e ho ricominciato, ma poi non sono più riuscito ad accedere all’applicazione:

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

sudo systemctl restart docker
# no error

Sono riuscito a ricostruire l’immagine e il processo si è concluso senza errori:

sudo /var/discourse/launcher rebuild app

Ma quando provo ad accedere all’URL, non è raggiungibile.

Per disperazione, ho anche provato ad aggiornare Docker e a ricostruire l’immagine più volte, ma senza successo:

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

sudo /var/discourse/launcher rebuild app

Non ho più idee. C’è qualcos’altro che dovrei provare?

Vorrei evitare di dover ripristinare da un backup perché perderebbe alcuni dati, ma se fosse l’unica soluzione, qual è il metodo migliore?

  • Ripristina il mio ultimo backup di Digital Ocean
  • Ripristina il mio ultimo backup di Discourse

Non riesco a capire se hai rotto Docker o se Forest Admin sta impedendo a Discourse di funzionare. Quale problema risolve Forest Admin?

Grazie, Jay. Dimentichiamo Forest Admin. L’ho rimosso per ora. C’è qualcos’altro che potrei fare per diagnosticare il problema?

Sono quasi certo di aver rotto Docker. Nel caso fosse rilevante, prima avevo Docker 18.09.6, build 481bc77 e ora ho 20.10.2, build 2291f61.

Ok. Si è scoperto che la soluzione era molto più semplice: mi bastava riavviare nginx :sweat_smile:

Quando ho provato a farlo, ho ottenuto questo errore:

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.

Nei log non ho visto nulla di evidente, ma riavviare il server ha risolto il problema:

sudo shutdown -r now

Ora il sito funziona correttamente.

3 Mi Piace

Non hai bisogno di nginx. Immagino che, quando hai riavviato il sistema, Discourse sia riuscito a occupare la porta 80 mentre nginx si stava riavviando. Hai avuto fortuna che, al riavvio del sistema, Discourse si sia avviato prima di nginx. Dovresti disinstallare o disabilitare nginx (a meno che non lo abbia configurato come proxy inverso, cosa che non puoi fare con discourse-setup).

1 Mi Piace

Grazie, Jay. Avevo configurato nginx come proxy inverso per mostrare una pagina carina durante i rebuild.

2 Mi Piace