Ich habe Folgendes ausgeführt:
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
Dann habe ich meine alte app.yml in containers kopiert und versucht, die App neu zu erstellen:
[root@two discourse]# ./launcher rebuild app
x86_64 arch erkannt.
Stelle sicher, dass der Launcher auf dem neuesten Stand ist
Launcher ist auf dem neuesten Stand
Stoppe alten Container
+ /usr/bin/docker stop -t 600 app
app
2.0.20250722-0020: Ziehe von discourse/base
Digest: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Status: Image ist auf dem neuesten Stand für discourse/base:2.0.20250722-0020
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-09-12T19:05:09.283821 #1] INFO -- : Lesen von stdin
I, [2025-09-12T19:05:09.296585 #1] INFO -- : Datei > /etc/service/postgres/run chmod: +x chown:
I, [2025-09-12T19:05:09.301579 #1] INFO -- : Datei > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-09-12T19:05:09.307391 #1] INFO -- : Datei > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-09-12T19:05:09.313597 #1] INFO -- : Datei > /root/install_postgres chmod: +x chown:
I, [2025-09-12T19:05:09.319914 #1] INFO -- : Datei > /root/upgrade_postgres chmod: +x chown:
I, [2025-09-12T19:05:09.320255 #1] INFO -- : Ersetze data_directory = '/var/lib/postgresql/15/main' durch data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.323526 #1] INFO -- : Ersetze (?-mix:#?listen_addresses *=.*) durch listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324153 #1] INFO -- : Ersetze (?-mix:#?synchronous_commit *=.*) durch synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324577 #1] INFO -- : Ersetze (?-mix:#?shared_buffers *=.*) durch shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324945 #1] INFO -- : Ersetze (?-mix:#?work_mem *=.*) durch work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.325369 #1] INFO -- : Ersetze (?-mix:#?default_text_search_config *=.*) durch default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.325759 #1] INFO -- : Ersetze (?-mix:#?checkpoint_segments *=.*) durch checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.329467 #1] INFO -- : Ersetze (?-mix:#?logging_collector *=.*) durch logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.330304 #1] INFO -- : Ersetze (?-mix:#?log_min_duration_statement *=.*) durch log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.330761 #1] INFO -- : Ersetze (?-mix:^#local +replication +postgres +peer$) durch local replication postgres peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.331823 #1] INFO -- : Ersetze (?-mix:^host.*all.*all.*127.*$) durch host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.332230 #1] INFO -- : Ersetze (?-mix:^host.*all.*all.*::1\\/128.*$) durch host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.332621 #1] INFO -- : > if [ -f /root/install_postgres ]; then
/root/install_postgres & && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
mkdir: Verzeichnis „/shared/postgres_run“ kann nicht erstellt werden: Berechtigung verweigert
chown: „/shared/postgres_run“ kann nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden
chmod: „/shared/postgres_run“ kann nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden
mkdir: Verzeichnis „/shared/postgres_run“ kann nicht erstellt werden: Berechtigung verweigert
chown: „/shared/postgres_run/15-main.pg_stat_tmp“ kann nicht zugegriffen werden: Datei oder Verzeichnis nicht gefunden
install: Besitzer und Berechtigungen von „/shared/postgres_data“ können nicht geändert werden: Datei oder Verzeichnis nicht gefunden
initdb: Fehler: Verzeichnis „/shared/postgres_data“ konnte nicht erstellt werden: Berechtigung verweigert
find: „/shared/postgres_data“: Datei oder Verzeichnis nicht gefunden
chown: „/var/run/postgresql“ kann nicht dereferenziert werden: Datei oder Verzeichnis nicht gefunden
cat: /shared/postgres_data/PG_VERSION: Datei oder Verzeichnis nicht gefunden
du: Zugriff auf „/shared/postgres_data“ nicht möglich: Datei oder Verzeichnis nicht gefunden
/root/upgrade_postgres: Zeile 7: * 2: Syntaxfehler: Operand erwartet (Fehler-Token ist „* 2“)
I, [2025-09-12T19:05:12.122891 #1] INFO -- : Lokalisierungen werden generiert (dies kann eine Weile dauern)...
en_US.UTF-8... erledigt
Generierung abgeschlossen.
Die Dateien, die zu diesem Datenbanksystem gehören, werden dem Benutzer „postgres“ gehören.
Dieser Benutzer muss auch den Serverprozess besitzen.
Der Datenbankcluster wird mit der Lokalisierung „en_US.UTF-8“ initialisiert.
Die Standard-Datenbankkodierung wurde entsprechend auf „UTF8“ gesetzt.
Die Standard-Textsuchkonfiguration wird auf „english“ gesetzt.
Daten-Page-Prüfsummen sind deaktiviert.
Verzeichnis /shared/postgres_data wird erstellt ... PostgreSQL von Version auf 15 aktualisieren
FAILED
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
/root/install_postgres & && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
ist mit Rückgabewert #<Process::Status: pid 18 exit 1> fehlgeschlagen
Ort des Fehlschlags: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec fehlgeschlagen mit den Parametern {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres & && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1\nfi\n"}
Bootstrap fehlgeschlagen mit Exit-Code 1
** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es kann mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
c9c7badf83b119a15b40255ae48a05182f72663cc870ca85e867c1f9a218bb83
Anscheinend gibt es zu Beginn ein Berechtigungsproblem innerhalb des Containers:
mkdir: Verzeichnis „/shared/postgres_run“ kann nicht erstellt werden: Berechtigung verweigert
Was könnte das verursachen?