Impossibile aggiornare a causa della vecchia versione di Docker

Durante l’aggiornamento, ho eseguito cd /var/discourse; git pull; ./launcher rebuild app.

Ho ricevuto i messaggi “Upgrade Complete” e “UPGRADE OF POSTGRES COMPLETE”. Quest’ultimo suggerisce di “ricostruire di nuovo”, ma sembra non fare alcuna differenza.

Nonostante l’aggiornamento sia completato, non riesco ad avviare l’app. Esecutando ./launcher start app ottengo il seguente errore:

Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.

Non riesco a riavviare l’app e non sono sicuro di come procedere.

./discourse-doctor non aiuta (rileva solo che l’app non è in esecuzione, tenta di ricostruirla e riavviarla, finendo con lo stesso errore).

Non posso allegare file, essendo un nuovo utente, quindi ecco ciò che ritengo essere il frammento rilevante dal log di debug:

Failed to rebuild app.

Checking your domain name . . .

Connection to community.gingkoapp.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . . 

+ /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
Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.
Failed to restart the container.
  1. Qual è la versione del tuo Docker?
  2. Hai provato le soluzioni suggerite in questa FAQ?

Grazie!

Versione Docker 17.12.0-ce

Mi trovo in un ambiente con spazio limitato (mi viene costantemente chiesto di tentare di pulire le immagini), quindi questa sembra una ragione plausibile per il fallimento.

Proverò i passaggi elencati e farò sapere.

La tua versione discourse docker è troppo vecchia.
Ti suggerisco di aggiornarla prima di procedere.

Non sono sicuro di come farlo senza l’interfaccia web (o curl verso l’API), dato che è offline. Ma ci darò un’occhiata. Per ora aggiornerò prima la dimensione del disco del mio droplet e vedrò se questo aiuta.

(a meno che tu non volessi dire che la mia versione di docker è vecchia?)

Ohh. Mi dispiace.
Volevo dire che Docker è troppo vecchio. Prova prima a aggiornarlo. Mi scuso moltissimo per l’errore di battitura e la confusione.

Nessun problema, ho capito che era questo che intendevi, visto che hai chiesto la versione di Docker.
Anche io sono su 14.04, quindi prima procederò con l’aggiornamento a 16.04.

Grazie ancora per il contributo. Farò sapere non appena ci saranno aggiornamenti.

Ma dai!

14.04 > 16.04 > 18.04: ti aspetta una lunga giornata.

Ricorda solo che 16.04 raggiungerà la fine del supporto (EOL) nel 2021, quindi passa almeno a 18.04.

Lavorare sodo solo per rimanere fermi… la storia della mia vita! Il software si muove troppo velocemente per me! :stuck_out_tongue_closed_eyes:

Ti auguro il meglio per questa nuova avventura di aggiornamenti software. :confetti_ball:

Se si tratta di un VPS, non è necessario aggiornare il server corrente. Creare un nuovo server con 20.04 e spostare il sito su di esso è molto più veloce e semplice.

Ma il loro container è danneggiato e non si avvia per diversi motivi.

L’ultimo backup automatico si troverà nella cartella condivisa per essere spostato sul nuovo server.

Dove posso trovare quale sia attualmente la versione più vecchia di Docker ancora supportata da Discourse?

Ecco

Sì, è esattamente quello che sto facendo in questo momento. Dovrebbe essere molto più veloce rispetto all’aggiornamento dell’attuale… incrocio le dita sperando di poter ripristinare dai file di backup (che sono ancora accessibili sul vecchio server).

Grazie..!

Quindi sembra che questo sia ben supportato nell’attuale Discourse.. Perché pensi che sia troppo vecchio @itsbhanusharma?

Chi ha detto che è supportato? Qualsiasi versione di Docker vecchia di qualche anno non è più supportata nemmeno dal suo sviluppatore, allora come ti aspetti che sia supportata da Discourse?

Sto solo guardando il codice sorgente…

Tutto bene ora. Ho avviato una nuova istanza Digital Ocean e ripristinato il backup. Penso che l’ultimo backup fosse corrotto, ma almeno ho perso solo uno o due post e ho ripristinato con successo dal backup precedente.

Grazie a tutti per l’aiuto!