Nada exibido na reconstrução do launcher

Estou tentando seguir o guia para adicionar suporte ao gem do MySQL ao contêiner do app por meio do tutorial Use an import script that requires MySQL - #4 by pfaffman

No entanto, ao executar o seguinte, o processo apenas trava.

> ./launcher stop app
> ./launcher rebuild import

image
Até que eu mate o processo com CTRL+C

Nota: Esperei mais de algumas horas para ver qualquer resposta, mas nada aconteceu.

E, ao inspecionar os contêineres do Docker, ele mostra um novo contêiner parado (corrompido).

image

Não tenho certeza do que estou fazendo de errado que leva a esse comportamento.

O conteúdo do meu arquivo containers/import.yml (com a parte intocada removida):

O servidor está hospedado na DO e, quando reinicio o serviço do Docker, ele retorna ao contêiner do app original em execução.

image

P.S.: ./launcher rebuild app funciona normalmente, no entanto.

Talvez você deva executar ./launcher stop app; antes de tentar construir import?

EDIT:

Droga.

Sim, obviamente estou executando o rebuild após o subcomando stop. Deixe-me editar minha pergunta.

OK, entendi. Depois que parei o container

> ./launcher stop app

Também removi o container com docker rm app e tentei reconstruir em seguida, e o processo continuou.

Agora, quando chego ao ponto em que está usando o template mysql-dep, o seguinte erro é gerado.

...
Configurando libgmp-dev:amd64 (2:6.1.2+dfsg-4) ...
Configurando nettle-dev:amd64 (3.4.1-1) ...
Configurando libgnutls28-dev:amd64 (3.6.7-4+deb10u2) ...
Configurando libmariadb-dev (1:10.3.22-0+deb10u1) ...
Processando gatilhos para libc-bin (2.28-10) ...

I, [2020-02-27T16:51:33.937186 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without "test development"'
[DEPRECATED] A flag `--path` está obsoleta porque depende de ser lembrada entre as chamadas do bundler, o que o bundler não fará mais em versões futuras. Em vez disso, use `bundle config set path 'vendor/bundle'` e pare de usar esta flag.
[DEPRECATED] A flag `--without` está obsoleta porque depende de ser lembrada entre as chamadas do bundler, o que o bundler não fará mais em versões futuras. Em vez disso, use `bundle config set without 'test development'` e pare de usar esta flag.
Você está tentando instalar em modo de implantação após alterar
seu Gemfile. Execute `bundle install` em outro lugar e adicione o
Gemfile.lock atualizado ao controle de versão.

Se esta for uma máquina de desenvolvimento, remova o congelamento do /var/www/discourse/Gemfile
executando `bundle config unset deployment`.

As dependências no seu gemfile mudaram

Você adicionou ao Gemfile:
* mysql2
I, [2020-02-27T16:51:34.670930 #1]  INFO -- : 
I, [2020-02-27T16:51:34.672542 #1]  INFO -- : Encerrando processos assíncronos
I, [2020-02-27T16:51:34.673101 #1]  INFO -- : Enviando INT para HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 49
I, [2020-02-27T16:51:34.673593 #1]  INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 166
2020-02-27 16:51:34.674 UTC [49] LOG:  requisição de desligamento rápido recebida
166:signal-handler (1582822294) SIGTERM recebido, agendando desligamento...
2020-02-27 16:51:34.682 UTC [49] LOG:  abortando quaisquer transações ativas
166:M 27 Feb 2020 16:51:34.693 # Desligamento solicitado pelo usuário...
166:M 27 Feb 2020 16:51:34.695 * Salvando o snapshot RDB final antes de sair.
2020-02-27 16:51:34.698 UTC [49] LOG:  processo worker: lançador de replicação lógica (PID 58) saiu com código de saída 1
2020-02-27 16:51:34.701 UTC [53] LOG:  desligando
166:M 27 Feb 2020 16:51:34.741 * Banco de dados salvo no disco
166:M 27 Feb 2020 16:51:34.742 # Redis agora está pronto para sair, tchau tchau...
2020-02-27 16:51:34.786 UTC [49] LOG:  sistema de banco de dados desligado


FALHA
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development' falhou com retorno #<Process::Status: pid 970 exit 16>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "cmd"=>["echo \"gem 'mysql2'\" >> Gemfile", "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libmariadb-dev", "su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without test development'"]}
75b27d60e1dc3a4b5d76bc75f2874ebf405fe29edfebec3cb809233f7b01ec48
** FALHA NO BOOTSTRAP ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

Alguém sabe algo sobre esse erro, por favor?

Estou tendo problemas semelhantes. Isso parece ser o mesmo que Failed to bootstrap using import template.

E eu não pretendia tentar atualizar esse container porque tinha visto isso, mas tentei mesmo assim por causa de outro erro estranho…

EDIT: Adicionei o

su discourse -c 'bundle config unset deployment'

ao modelo antes da linha

 su discourse -c 'bundle install --no-deployment --path vendor/bundle --jobs 4 --without "test development"'

e está funcionando. (Mas, infelizmente, não resolveu meu problema não relacionado).

Eu literalmente usei este modelo na semana passada e não tive nenhum problema com ele. É bastante estranho, mas vale a pena dar uma olhada na próxima semana. Vou adicioná-lo à minha lista.

Eu também! Mas acho que algo para atualizar?

Além do comentário, também precisei ignorar os pré-requisitos do launcher

> ./launcher rebuild import --skip-prereqs

e, seguindo a sugestão de @pfaffman

a imagem foi construída com sucesso. :white_check_mark:

Parece que isso foi resolvido aqui – @pfaffman @rahilqf vocês podem confirmar?

Parece que sim. Muito obrigado!

Agora, se houvesse apenas um modelo que adicionasse php-serialize