2.5.0.beta4 へのアップグレードの問題

Dockerのアップグレードボタンをクリックしてアップグレードを実行しました。完了後はすべて順調に見えました。しかし、「戻る」をクリックすると、以下のようなメッセージが表示されました:

Discourseイメージの古いバージョンを実行しています。
最新のイメージを実行するまで、Web UI経由でのアップグレードは無効化されています。
実行するには、SSHでサーバーにログインし、以下のコマンドを実行してください:

        cd /var/discourse
        git pull
        ./launcher rebuild app

上記の手順を実行しましたが、以下のエラーが発生しました:

root@ubuntu-s-1vcpu-1gb-nyc1-01:~# cd /var/discourse
root@ubuntu-s-1vcpu-1gb-nyc1-01:/var/discourse# git pull
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 22 (delta 11), reused 12 (delta 6), pack-reused 0
Unpacking objects: 100% (22/22), done.
From https://github.com/discourse/discourse_docker
   70a3323..8c8dbd0  master     -> origin/master
 * [new branch]      pg12       -> origin/pg12
Updating 70a3323..8c8dbd0
Fast-forward
 launcher                    |  2 +-
 templates/sshd.template.yml | 49 ---------------------------------------------
 templates/web.template.yml  |  2 ++
 3 files changed, 3 insertions(+), 50 deletions(-)
 delete mode 100644 templates/sshd.template.yml
root@ubuntu-s-1vcpu-1gb-nyc1-01:/var/discourse# ./launcher rebuild app

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

Unable to find image 'discourse/base:2.0.20200429-2110' locally
2.0.20200429-2110: Pulling from discourse/base
54fec2fa59d0: Pulling fs layer
19bc9811812d: Pulling fs layer
54fec2fa59d0: Verifying Checksum
54fec2fa59d0: Download complete
54fec2fa59d0: Pull complete
19bc9811812d: Verifying Checksum
19bc9811812d: Download complete
19bc9811812d: Pull complete
Digest: sha256:3400307b0464d1fc70f554f990e22842f0abe82e3ed42fbee1eb5bad464ce008
Status: Downloaded newer image for discourse/base:2.0.20200429-2110
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 10 app
app
cd /pups && git pull && /pups/bin/pups --stdin
Already up to date.
I, [2020-05-04T19:34:20.671303 #1]  INFO -- : Loading --stdin
I, [2020-05-04T19:34:20.680407 #1]  INFO -- : 
I, [2020-05-04T19:34:20.754357 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2020-05-04T19:34:20.755052 #1]  INFO -- : 
I, [2020-05-04T19:34:20.763216 #1]  INFO -- : 
I, [2020-05-04T19:34:20.765101 #1]  INFO -- : 
I, [2020-05-04T19:34:20.769530 #1]  INFO -- : 
I, [2020-05-04T19:34:20.770264 #1]  INFO -- : 
I, [2020-05-04T19:34:20.774593 #1]  INFO -- : 
I, [2020-05-04T19:34:20.775571 #1]  INFO -- : 
I, [2020-05-04T19:34:20.780287 #1]  INFO -- : 
I, [2020-05-04T19:34:20.781259 #1]  INFO -- : 
I, [2020-05-04T19:34:20.785953 #1]  INFO -- : 
I, [2020-05-04T19:34:20.786915 #1]  INFO -- : postgres already running stop container



FAILED
--------------------
Pups::ExecError: socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1 failed with return #<Process::Status: pid 25 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1"
28acae3e3ece0cb518bcdb99f94ff1f21dc7b8663ab30720b7d7dad43dcc6d52
** FAILED TO BOOTSTRAP ** 上記のエラーメッセージをスクロールして確認してください。複数のエラーが存在する可能性があります。
./discourse-doctor で問題の特定が役立つかもしれません。

Discourse-doctor も同様の結果を出力します。どなたかこの問題の原因を特定し、適切な方向へ導いていただけないでしょうか。よろしくお願いいたします。

編集:OSを再起動し、アプリを再構築したところ、すべて正常に動作しました。問題の原因は不明です。

私も問題が発生しました。私のエラーは以下の通りです:

Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 10 app
app
cat: templates/sshd.template.yml: No such file or directory
cd /pups && git pull && /pups/bin/pups --stdin
/usr/bin/docker: invalid reference format: repository name must be lowercase.
See '/usr/bin/docker run --help'.
cat: cids/app_bootstrap.cid: No such file or directory
"docker rm" requires at least 1 argument.
See 'docker rm --help'.
Usage:  docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
rm: cannot remove 'cids/app_bootstrap.cid': No such file or directory
** 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.

Discourse はこれまで非常にスムーズに動作していました…

app.yml の上部にある ssh テンプレートを取り除く必要があります。ssh テンプレートが削除されているため、再構築できません

OP の問題が何なのかはわかりません。

「いいね!」 5

同じ問題が発生しています。Docker は最新バージョン (19.03) にアップデートされており、手動アップグレードの直前に git pull を実行しました。

(Web UI での更新もできず、「現在アップグレード中」で停止したままです)

app.ymlからその行を削除してください。必要ありません。

「いいね!」 3

docker ps の出力は何ですか?単一のコンテナを実行していますか?

実行中のコンテナがない場合は、そのソケットファイルを削除してください。ホストに socat がインストールされていることを確認してください。

「いいね!」 2

@sam さん、ありがとうございます。OP への編集通り、再起動とアプリの再ビルドで解決しました。ただ、インポートコンテナを起動したままにしていたことに気づき、削除しました。Socat はインストール済みです。以下が docker ps の出力です。

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                                      NAMES
e3c0fe465fb3        local_discourse/app   "/sbin/boot"        2 days ago          Up 11 minutes       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

現在、beta4 を 3 日間実行していますが、すべて正常に動作しているようです。どうもありがとうございました。

「いいね!」 1

手動アップグレードでも同様の問題が発生しましたが、sshdテンプレートに関する手がかりはなく、ただ cat: cids/app_bootstrap.cid: No such file or directory というエラーメッセージが表示されるだけでした。しかし、app.ymlからsshdテンプレートをコメントアウトして再ビルドしたところ、正常に動作しました。