Não é possível atualizar devido à versão antiga do Docker

Durante a atualização, executei cd /var/discourse; git pull; ./launcher rebuild app.

Obtive as mensagens “Upgrade Complete” e “UPGRADE OF POSTGRES COMPLETE”. A segunda sugere “rebuild again”, embora isso pareça não fazer diferença.

Apesar de a atualização estar concluída, não consigo iniciar o aplicativo. Ao executar ./launcher start app, recebo o seguinte erro:

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'.

Não consigo reiniciar meu aplicativo novamente e não sei como proceder.

./discourse-doctor não ajuda (ele apenas detecta que o aplicativo não está em execução, tenta reconstruir e reiniciar, e termina com o mesmo erro).

Não consigo anexar arquivos, pois sou um usuário novo, então aqui está o trecho que acredito ser relevante do log de depuração:

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 é a versão do seu Docker?
  2. Você tentou as soluções sugeridas nesta FAQ?

Obrigado!

Versão do Docker 17.12.0-ce

Estou em um ambiente com espaço limitado (estou constantemente sendo solicitado a tentar limpar imagens), então isso parece ser uma razão plausível para essa falha.

Vou tentar os passos listados e retornarei com o resultado.

Sua discourse versão do Docker está muito antiga. Sugiro atualizá-la antes de prosseguir.

Não tenho certeza de como fazer isso sem a interface web (ou curl para a API), já que ela está fora do ar. Mas vou investigar. Por enquanto, vou apenas aumentar o tamanho do disco do meu droplet e ver se isso ajuda.

(a menos que você tenha querido dizer que minha versão do docker está antiga?)

Ah, desculpe.
Queria dizer que o Docker está muito antigo. Tente atualizá-lo primeiro. Peço desculpas pelo erro de digitação e pela confusão.

Sem problemas, eu entendi que era isso que você quis dizer, já que você pediu a versão do Docker. Eu também estou no 14.04, então vou fazer o upgrade primeiro, para o 16.04.

Obrigado novamente pela contribuição. Vou postar aqui qualquer atualização.

Uau, que dia!

14.04 > 16.04 > 18.04: você tem um longo dia pela frente.

Apenas lembre-se de que o 16.04 também chega ao fim do suporte (EOL) em 2021, então pule direto para pelo menos o 18.04.

Trabalhando duro só para permanecer no mesmo lugar… a história da minha vida!
O software se move rápido demais para mim! :stuck_out_tongue_closed_eyes:

Desejo a todos vocês o melhor nesta nova aventura de atualizações de software. :confetti_ball:

Se for um VPS, não é necessário atualizar o servidor atual. Criar um novo com a 20.04 e migrar seu site para esse novo servidor é muito mais rápido e fácil.

Mas o contêiner deles está com problemas e não está iniciando por vários motivos.

O último backup automático estará na pasta compartilhada para ser movido para o novo servidor.

Onde posso encontrar qual é atualmente a versão mais antiga do Docker com suporte para o Discourse?

Aqui

Sim, é isso que estou fazendo no momento. Deve ser muito mais rápido do que atualizar o atual… cruzo os dedos para que eu possa restaurar a partir dos arquivos de backup (aos quais ainda tenho acesso no servidor antigo).

Obrigado..!

Então parece que este é bem suportado no Discourse atual… Por que você acha que é muito antigo, @itsbhanusharma?

Quem disse que é suportado?
Qualquer versão do Docker com mais de alguns anos nem mesmo é suportada pelo seu próprio desenvolvedor, então como você espera que seja suportada pelo Discourse?

Estou apenas olhando o código-fonte…

Tudo bem agora. Criei um novo droplet na Digital Ocean e restaurei o backup. Acredito que o backup mais recente estava corrompido, mas pelo menos perdi apenas um ou dois posts e consegui restaurar com sucesso a partir do backup anterior.

Obrigado pela ajuda, pessoal!