危険!!
これにより、インストールが破損する可能性がありますが、窮地を脱するのに役立つかもしれません。
これらの指示は細心の注意を払って使用してください。
何らかの理由で ./launcher rebuild app で discourse コンテナを実行できず、問題を解決するためにデータベースにアクセスする必要がある場合は、これらの指示を試してください。
この手法では、Postgres の Docker イメージを使用して、インストールされている Discourse のボリュームにアクセスします。Discourse が実行中にこれを実行しないでください!
これは、discourse が /var/discourse にインストールされており、コマンドライン経由で Postgres を操作する方法を知っていることを前提としています。
「mysecretpassword」をより安全な値に変更してください。
# Discourse のバージョンに対応する正しいイメージをプルします。
docker pull postgres:15
# コンテナを開始し、ローカルデータベースファイルに接続します。
docker run --name postgres_container -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 -v /var/discourse/shared/standalone/postgres_data:/var/lib/postgresql/data postgres:15
# コンテナに入ります
docker exec -it postgres_container /bin/bash
# コンテナ内に入ったら:
su postgres
# db クライアントを実行します
psql
# 必要に応じてデータベースを削除します。
# 完了したら:
docker stop postgres_container
docker rm postgres_container
docker rmi postgres:15
discourse の再起動を試みる前に、docker を再起動する必要がある場合があります。
service restart docker.