Atualização travada e quebrada na versão do Docker

Olá,
Eu queria atualizar meu discourse ontem e falhei. Recebi um aviso de erro sobre a versão do Docker 24.0.2 estar obsoleta.
Tentei resolver isso com o seguinte tópico, mas sem sucesso.

Então, aqui está o meu log quando tentei reconstruir:

> root@ubuntu-s-1vcpu-1gb-ams3-01:/var/discourse# ./launcher rebuild app
> WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
> x86_64 arch detected.
>
> WARNING: We are about to start downloading the Discourse base image
> This process may take anywhere between a few minutes to an hour, depending on your network speed
>
> Please be patient
>
> 2.0.20250129-0720: Pulling from discourse/base
> af302e5c37e9: Pull complete
> ed49ab5c933d: Pull complete
> 7cb9e730d898: Pull complete
> 7c28a6b187b2: Pull complete
> 23222af7238f: Pull complete
> 59b87d9ed5c1: Pull complete
> 90d60b432298: Pull complete
> d3b3135aa82b: Pull complete
> 94e7b594395d: Pull complete
> cf15e2c89d00: Pull complete
> 2c0cccf9ec27: Pull complete
> 5d8ea2a8d564: Pull complete
> 020f04b42275: Pull complete
> 06e22604f387: Pull complete
> 8b0ecc579aad: Pull complete
> 4d577f7424c0: Pull complete
> 37ef4781925f: Pull complete
> 30d67d1af761: Pull complete
> 43eaf8c26af4: Pull complete
> 02f4cc50eabd: Pull complete
> 93896ee36e56: Pull complete
> fadd5d615e0e: Pull complete
> 85f9459cb30e: Pull complete
> eaddca2afacb: Pull complete
> f54443d29a2d: Pull complete
> ed6f0f133683: Pull complete
> 3d1894dc563f: Pull complete
> 51ca3f63c909: Pull complete
> b87374db2274: Pull complete
> Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
> Status: Downloaded newer image for discourse/base:2.0.20250129-0720
> docker.io/discourse/base:2.0.20250129-0720
> WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
> Ensuring launcher is up to date
> Fetching origin
> Launcher is up-to-date
> 2.0.20240708-0023: Pulling from discourse/base
> 76956b537f14: Pull complete
> c5ffad89ad3c: Pull complete
> 71c31a50a587: Pull complete
> c1a1234dcb61: Pull complete
> 9980a27afc32: Pull complete
> 4f4fb700ef54: Pull complete
> 304b565c70c9: Pull complete
> 8ad811162d08: Pull complete
> 2c324dce526d: Pull complete
> 52d141c2b1c8: Pull complete
> 4c08fdcd145a: Pull complete
> 1b6035ac25c0: Pull complete
> 9208d0f90623: Pull complete
> 513dccf6f63f: Pull complete
> e0b141854963: Pull complete
> 4476d7dd9441: Pull complete
> 0fad77941078: Pull complete
> 46c34476ea19: Pull complete
> ff0b86516349: Pull complete
> c33170d09c8b: Pull complete
> ed4a793ffe51: Pull complete
> 3a7b2554e089: Pull complete
> 3ad8a6408839: Pull complete
> e7c58bcc7f57: Pull complete
> 59b2407fe431: Pull complete
> 315160f4d4f8: Pull complete
> ad328ba96976: Pull complete
> 825dca2e642e: Pull complete
> 9fbd8c908047: Pull complete
> b1d30330e969: Pull complete
> 8c76c65bb8e8: Pull complete
> 9279965667b5: Pull complete
> a0ae3eb4d088: Pull complete
> 819fb509ef8b: Pull complete
> c962935d47d4: Pull complete
> 63b444b5bd1e: Pull complete
> 7efa1c09faf6: Pull complete
> 46c4327ce462: Pull complete
> b095ebe7bdf6: Pull complete
> 3aa16a533cab: Pull complete
> 41419e4f1948: Pull complete
> 589837814d9a: Pull complete
> bd025ad1b844: Pull complete
> 24762ff7528f: Pull complete
> fe364253c657: Pull complete
> Digest: sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
> Status: Downloaded newer image for discourse/base:2.0.20240708-0023
> docker.io/discourse/base:2.0.240708-0023
> /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
> /usr/local/bin/pups --stdin
> I, [2025-02-14T15:37:56.973519 #1]  INFO -- : Reading from stdin
> I, [2025-02-14T15:37:56.993945 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
> I, [2025-02-14T15:37:57.000584 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
> I, [2025-02-14T15:37:57.007505 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
> I, [2025-02-14T15:37:57.013066 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown:
> I, [2025-02-14T15:37:57.018588 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
>
>
> FAILED
> --------------------
> Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf
> Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
> replace failed with the params {"filename"=>"/etc/postgresql/15/main/postgresql.conf", "from"=>"data_directory = '/var/lib/postgresql/15/main'", "to"=>"data_directory = '/shared/postgres_data'"}
> bootstrap failed with exit code 1
> ** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
> ./discourse-doctor may help diagnose the problem.
> b96283ee8b084accdfaba73be8e021e7ac7434b153232f099b9b22fd5e65c501
> root@ubuntu-s-1vcpu-1gb-ams3-01:/var/discourse#

Meu site está em um droplet da Digital Ocean.

  • Versão do Docker 24.0.2, build cb74dfc
  • Nenhum módulo LSB está disponível.
  • ID do Distribuidor: Ubuntu
  • Descrição: Ubuntu 18.04.6 LTS
  • Versão: 18.04
  • Codinome: bionic

Então, você pode me fornecer uma maneira de corrigir isso e colocar meu site online novamente? Não sou muito experiente em Linux, mas consigo entender procedimentos. Obrigado.

Você pode compartilhar seu arquivo app.yml? Parece que você fixou uma imagem de container nele.

Você deve conseguir iniciar seu contêiner antigo com

 ./launcher start app

Isso o trará de volta.

Está além do fim de vida há quase dois anos. Recomendo que você crie uma nova máquina virtual e Mova um site Discourse para outro VPS com rsync.

Não recomendo, mas várias pessoas relataram sucesso recentemente executando um dist-upgrade.

Se o rsync parecer muito complicado, basta copiar seu app.yml e um backup. Faça uma reconstrução e restaure o backup. Você precisará encontrar uma maneira de mover o arquivo app.yml e o arquivo de backup do servidor antigo para o novo.

Se uma atualização do sistema operacional ou a migração para uma nova VM for mais do que você deseja fazer e você quiser suporte pago, sinta-se à vontade para me enviar um e-mail (o endereço está no meu cartão de usuário).

1 curtida

Olá,
Parece que algo está bagunçado:

root@ubuntu-s-1vcpu-1gb-ams3-01:~# cd /var/discourse
root@ubuntu-s-1vcpu-1gb-ams3-01:/var/discourse#  ./launcher start app
WARNING: Docker version 24.0.2 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by                                                                                                                                                              running: chmod o-rwx containers/app.yml

+ /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_GC_HEAP                                                                                                                                                             _GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJ                                                                                                                                                             ECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_                                                                                                                                                             HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_                                                                                                                                                             FORCE_HTTPS=true -e DISCOURSE_HOSTNAME=libertysim.net -e DISCOURSE_DEVELOPER_EMA                                                                                                                                                             ILS=webmaster@libertysim.net -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCO                                                                                                                                                             URSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=postmaster@libertysim.net -e DISC                                                                                                                                                                                                                                                                                                                                       hared/standalone/log/var-log:/var/log --mac-address 02:ae:e1:d5:0f:0f local_disc                                                                                                                                                             ourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app,                                                                                                                                                              repository does not exist or may require 'docker login': denied: requested acces                                                                                                                                                             s to the resource is denied.
See 'docker run --help'.

O que é isso?

E você acabou de colocar suas senhas publicamente.

1 curtida

Você ainda precisa migrar para um sistema operacional atualizado para ter uma versão suportada do Docker. Você não poderá atualizar (facilmente?) sem atualizar seu sistema operacional para ter um Docker suportado.

Você precisa remover isso do seu app.yml.

Há uma chance de que, se você remover essa linha do seu app.yml, mas é pelo menos tão provável que isso torne seu site inutilizável. Eu definitivamente faria um backup antes de fazer qualquer outra coisa.

Minha culpa, desculpe

Ok, então preciso atualizar o sistema operacional primeiro

1 curtida

Eu sinalizei isso, mas ficou visível cerca de 15 minutos. Então você gostaria de alterar ambos.

A propósito, quando você avançar, seu MaxMind não funcionará mais. Você também precisa do seu número de conta. E ambas essas linhas precisam de dois espaços antes delas.

2 curtidas

Remova esta linha e reconstrua.

1 curtida