Closed ledermann closed 7 months ago
@OnkelMF Ich habe das mal hierhin verschoben, um gemeinsam auf Fehlersuche zu gehen.
Bitte erst mal prüfen, ob die Container laufen, mit docker ps
- Output bitte hier posten.
Dann Log der App prüfen, mit docker logs solectrus-app-1
(Name des Container ggfs. anpassen). Bitte aktuellen Ausschnitt aus dem Log hier posten, vermutlich werden da Fehlermeldungen zu finden sein, aus denen sich das weitere Vorgehen ableiten lässt.
Werde ich machen wenn ich heute nach Hause komme - ich danke Dir :)
docker ps:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
504811ca5219 ghcr.io/solectrus/solectrus:latest "docker/entrypoint.s…" 34 hours ago Restarting (1) 3 seconds ago solectrus-app-1
9eaab2854687 ghcr.io/solectrus/senec-collector:latest "/bin/sh -c 'bundle …" 34 hours ago Up 17 hours solectrus-senec-collect or-1
9bc70a37df7e ghcr.io/solectrus/forecast-collector:latest "/bin/sh -c 'bundle …" 34 hours ago Up 17 hours solectrus-forecast-coll ector-1
87fef0bbed6f redis:7-alpine "docker-entrypoint.s…" 34 hours ago Up 17 hours (healthy) 6379/tcp solectrus-redis-1
40f83d4c76ce influxdb:2.7-alpine "/entrypoint.sh infl…" 34 hours ago Up 17 hours (healthy) 8086/tcp solectrus-influxdb-1
a602ac87dad8 postgres:15-alpine "docker-entrypoint.s…" 34 hours ago Up 17 hours (healthy) 5432/tcp solectrus-db-1
Woran erkenne ich den "aktuellen Teil" des logs aus "docker logs solectrus-app-1"
Die Bildschirmausgabe in Putty ist ja riesig :(
Ok, der App-Container läuft gar nicht, sondern startet wohl immer wieder neu ("Restarting"). Demnach sind die Logs wichtig, da wird der Grund zu sehen sein. Mit folgendem Kommando lassen sich die letzten 100 Zeilen ausgeben:
docker logs solectrus-app-1 --tail 100
Mehr zum Logging: https://docs.docker.com/engine/reference/commandline/logs/
db (172.18.0.4:5432) open
PostgreSQL is up and running!
Preparing database...
Database is ready!
=> Booting Puma
=> Rails 7.1.2 application starting in production
=> Run `bin/rails server --help` for more startup options
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
Exiting
Starting SOLECTRUS...
Version: v0.14.2 - 2024-01-07T19:02:01+01:00 - v0.14.2
----------------
redis (172.18.0.7:6379) open
Redis is up and running!
influxdb (172.18.0.2:8086) open
InfluxDB is up and running!
db (172.18.0.4:5432) open
PostgreSQL is up and running!
Preparing database...
Database is ready!
=> Booting Puma
=> Rails 7.1.2 application starting in production
=> Run `bin/rails server --help` for more startup options
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
Exiting
Starting SOLECTRUS...
Version: v0.14.2 - 2024-01-07T19:02:01+01:00 - v0.14.2
----------------
redis (172.18.0.7:6379) open
Redis is up and running!
influxdb (172.18.0.2:8086) open
InfluxDB is up and running!
db (172.18.0.4:5432) open
PostgreSQL is up and running!
Preparing database...
Database is ready!
=> Booting Puma
=> Rails 7.1.2 application starting in production
=> Run `bin/rails server --help` for more startup options
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
Exiting
Starting SOLECTRUS...
Version: v0.14.2 - 2024-01-07T19:02:01+01:00 - v0.14.2
----------------
redis (172.18.0.7:6379) open
Redis is up and running!
influxdb (172.18.0.2:8086) open
InfluxDB is up and running!
db (172.18.0.4:5432) open
PostgreSQL is up and running!
Preparing database...
Database is ready!
=> Booting Puma
=> Rails 7.1.2 application starting in production
=> Run `bin/rails server --help` for more startup options
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
Exiting
Starting SOLECTRUS...
Version: v0.14.2 - 2024-01-07T19:02:01+01:00 - v0.14.2
----------------
redis (172.18.0.7:6379) open
Redis is up and running!
influxdb (172.18.0.2:8086) open
InfluxDB is up and running!
PostgreSQL is up and running!
Preparing database...
db (172.18.0.4:5432) open
Database is ready!
=> Booting Puma
=> Rails 7.1.2 application starting in production
=> Run `bin/rails server --help` for more startup options
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
Exiting
Starting SOLECTRUS...
Version: v0.14.2 - 2024-01-07T19:02:01+01:00 - v0.14.2
----------------
redis (172.18.0.7:6379) open
Redis is up and running!
influxdb (172.18.0.2:8086) open
InfluxDB is up and running!
db (172.18.0.4:5432) open
PostgreSQL is up and running!
Preparing database...
Database is ready!
=> Booting Puma
=> Rails 7.1.2 application starting in production
=> Run `bin/rails server --help` for more startup options
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
Exiting
Starting SOLECTRUS...
Version: v0.14.2 - 2024-01-07T19:02:01+01:00 - v0.14.2
----------------
redis (172.18.0.7:6379) open
Redis is up and running!
influxdb (172.18.0.2:8086) open
InfluxDB is up and running!
db (172.18.0.4:5432) open
PostgreSQL is up and running!
Preparing database...
Database is ready!
Die relevante Zeile ist die hier:
A server is already running (pid: 1, file: /app/tmp/pids/server.pid).
War hier vielleicht ein Stromausfall o.ä. im Spiel? Versuche mal folgendes:
docker compose down
docker rm solectrus-app-1
docker compose up -d
https://docs.docker.com/engine/reference/commandline/rm/
Damit wird der Container gelöscht (und damit sein tmp
-Ordner). Beim nächsten Start sollte es dann wieder funktionieren.
Ansonsten noch härter diese Möglichkeit:
docker compose down
docker system prune
docker compose up -d
https://docs.docker.com/engine/reference/commandline/system_prune/
Hallo Georg,
eigentlich gab es keinen Ausfall. Ich saß ja am Mac als plötzlich „keine Verbindung“ erschien. Danach hab ich den Raspy aus und wieder angeschaltet aber das Problem lies sich nicht lösen. Sind nach Deiner Methode die alten Daten weg oder bleibt das bisherige Datenmaterial vorhanden ? Wäre schade sonst 😉
"Keine Verbindung" klingt nach der Status-Anzeige von SOLECTRUS. Wenn die erscheint, kommen keine Daten mehr in InfluxDB an - SOLECTRUS selbst läuft aber weiterhin.
"Raspi aus und wieder an" könnte aber die Ursache sein, zumindest wenn du das auf die harte Tour mit dem Power-Schalter gemacht hast. Auch ein Raspi will korrekt heruntergefahren werden.
Zu meinem Vorschlag: Nein, da geht nichts verloren. Wenn der Container gelöscht wird (mit docker rm
), dann sind nur temporäre Dinge weg, das ist völlig unkritisch. Alles Wichtige steckt in den Volumes von PostgreSQL und InfluxDB.
Der zweite Vorschlag mit docker system prune
löscht zwar mehr, aber auch nichts Kritisches. Genaueres findet sich in den beiden Links.
hmm das Verzeichnis kann ich irgendwie nicht löschen:
Error response from daemon: No such container: solectrus-app-1
egal ob im Verzeinis Solectrus oder im Root-Verzeichnis.
Aber allein
docker compose down und dann docker compose up -d
haben das Problem gelöst - wo auch immer es her kam ich kann wieder an mein Solectrus und bin glücklich !
Danke !!
Prima, freut mich!
Nur als Ergänzung: Mit docker rm
wird kein Verzeichnis gelöscht, sondern ein beendeter Docker-Container. Ich bin irgendwie davon ausgegangen, dass du ein "down & up" bereits versucht hattest. Denn mit docker compose down
werden normalerweise auch die Container gelöscht.
Originally posted by @OnkelMF in https://github.com/solectrus/solectrus/discussions/2710#discussioncomment-8078640