Problema: versione di Docker non supportata

Ciao,

Ho modificato le impostazioni SMTP e sto cercando di ricostruire l’applicazione.

cd /var/discourse
./launcher rebuild app

Output: ERRORE: La versione di Docker 1.9.1 non è supportata; si prega di aggiornare almeno alla versione 17.03.1, o consigliata 17.06.2.

Cosa posso fare? Hai qualche suggerimento?

Hai provato ad aggiornare Docker almeno alla versione 17.03.1? Se non sei sicuro di come farlo, esegui uname -a e incolla qui i risultati.

Ciao, grazie per la risposta.

Ecco il risultato:
Ekran Resmi 2020-03-15 01.13.43

sudo apt-get update && sudo apt-get upgrade dovrebbe fare al caso tuo. Dipende tutto da come hai installato Docker inizialmente.

C’è il rischio che qualcosa possa interrompere il funzionamento di Discourse dopo l’aggiornamento?

C’è sempre un rischio di questo tipo, ma se vuoi ricostruire l’app, dovrai aggiornare Docker.

Il mio consiglio è di comunicare alla tua comunità che stai eseguendo alcune operazioni di manutenzione, fare un backup se non l’hai già fatto, e poi procedere con l’aggiornamento.

Kernel 3.13.0-147 mi sembra un po’ vecchio?

Sì.

In questo caso, è necessario creare un aggiornamento separato per il kernel? Oppure il seguente comando è sufficiente?

sudo apt-get update && sudo apt-get upgrade

apt-get dist-upgrade anche? Per sicurezza, controlla la documentazione di Ubuntu.

Sto solo cercando di modificare il servizio di posta e le impostazioni SMTP in app.yml. Esiste un altro modo per convalidare queste impostazioni (app.yml) senza aggiornare?

Per motivi di sicurezza, dovresti davvero eseguire le versioni più recenti del software, ma la decisione spetta a te…

Secondo How to reload configuration after app.yml changes? - #2 by riking, se stai solo modificando le impostazioni nella sezione env di app.yml e non ti serve quell’env per l’avvio iniziale, ./launcher restart app dovrebbe funzionare per ricaricare le impostazioni SMTP.

./launcher restart app non funziona neppure. Errore: la versione di Docker 1.9.1 non è supportata.

Cosa altro possiamo fare?

Il problema è che launcher rebuild scarica l’ultima versione del codice da GitHub, che non è compatibile con la tua versione di Docker. Questo può essere evitato se non hai ancora eseguito il rebuild, ma in questa situazione l’unica soluzione è probabilmente procedere. Come ha fatto notare @yanokwa, non vuoi davvero eseguire versioni molto vecchie del sistema operativo o di Discourse, poiché ciò comporta una serie di problemi di sicurezza.

Cosa è successo quando hai tentato dist-upgrade come mostrato sopra?

Non ho usato questo comando. Sto cercando un modo per risolverlo senza aggiornare. (Per ora. :slight_smile: )

Hai aggiornato Discourse, il che significa che ora devi correggere Docker.

dist-upgrade potrebbe risolvere il problema. Dato che hai delle copie dei tuoi backup e questa è l’unica applicazione sul server, c’è poco rischio in questo momento. Nel peggiore dei casi, dovrai semplicemente rieseguire la guida di installazione di 30 minuti e ripristinare un backup.

Sei stato tu a costruire il server? Se sì, ricordi come è stato costruito? Più informazioni ci fornisci qui, più velocemente potremo trovare una soluzione per te.

Non ho costruito il server. Ho creato uno snapshot e sto lavorando su di esso.

Ho usato questi comandi per aggiornare Docker e la versione del kernel:

sudo apt-get dist-upgrade
sudo apt-get update && sudo apt-get upgrade

Dopo l’aggiornamento, la versione di Docker è ancora 1.9.1 :frowning:

Ho provato ad aggiornare la versione di Docker con questo comando:

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

Quando eseguo il comando docker run -it --rm hello-world, ecco l’output:

Impossibile trovare l'immagine 'hello-world:latest' in locale
latest: Pulling from library/hello-world
1b930d010525: Pulling complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Stato: Immagine aggiornata scaricata per hello-world:latest
docker: Errore di risposta dal demone: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.

Quando eseguo ./launcher rebuild app, ecco l’output:

AVVISO: Stiamo per iniziare il download dell'immagine di base di Discourse
Questo processo può richiedere da alcuni minuti a un'ora, a seconda della velocità della tua rete

Si prega di essere pazienti

Impossibile trovare l'immagine 'discourse/base:2.0.20200220-2221' in locale
2.0.20200220-2221: Pulling from discourse/base
bc51dd8edc1b: Pulling fs layer
27ae5d171719: Pulling fs layer
bc51dd8edc1b: Verifying Checksum
bc51dd8edc1b: Download complete
bc51dd8edc1b: Pull complete
27ae5d171719: Verifying Checksum
27ae5d171719: Download complete
27ae5d171719: Pull complete
Digest: sha256:b3acee0b655f071e98205dbd12fa78b95a6dd4038d27f1259177f76ab2efe4f7
Stato: Immagine aggiornata scaricata per discourse/base:2.0.20200220-2221
/usr/bin/docker: Errore di risposta dal demone: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.
La tua installazione Docker non funziona correttamente

Vedi: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

Potrebbe essere necessario riavviare dopo l’aggiornamento di Docker.

Dopo il riavvio, lo stesso output:

/usr/bin/docker: Errore di risposta dal demone: OCI runtime create failed: container_linux.go:348: avvio del processo del contenitore causato "process_linux.go:301: esecuzione del processo setns per init causato \"exit status 23\"": sconosciuto.
La tua installazione di Docker non funziona correttamente

Vedi: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam