Docker Restart Problem

Solaranzeige und Docker
Alles was mit der Docker Version zu tun hat.

Moderatoren: Ulrich, DeBaschdi

Antworten
andre1210
Beiträge: 7
Registriert: So 6. Nov 2022, 10:45
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Docker Restart Problem

Beitrag von andre1210 »

Hallo,
ich lasse meine Solaranzeige auf meinem Pi4 - Raspbian GNU/Linux 11 (bullseye) - im Docker Container laufen.
Ich habe einen FTDI Adapter angeschlossen und habe docker mit folgenden Befehl gestartet:
docker run -d
-e USER_ID="1000"
-e GROUP_ID="1000"
-e TIMEZONE="Europe/Berlin"
-e UPDATE="yes"
-e MOSQUITTO="yes"
-e INFLUXDB="yes"
-p 3000:3000
-p 1883:1883
-p 8080:80
-v /home/pi/solaranzeige:/solaranzeige
-v /home/pi/solaranzeige/influx:/var/lib/influxdb
-v /home/pi/solaranzeige/grafana:/var/lib/grafana
-v /home/pi/solaranzeige/pvforecast:/pvforecast
-v /home/pi/solaranzeige/www:/var/www
--device='/dev/ttyUSB0'
--name=Solaranzeige
--restart unless-stopped
--tmpfs /tmp
--tmpfs /var/log
takealug/solaranzeige:arm32v7

Soweit so gut - es funktioniert einwandfrei.
Sobald ich den Pi aber durchstarte, wird der Docker Container auch gestartet. Allerdings bekomme ich dann immer Lesefehler beim Lesen des Reglers über USB.
Somit muss ich nach jedem Restart des Raspberrys den Container stoppen, entfernen und mit docker run neu anlegen. Dann geht es immer.
Kann mir jemand sagen, was ich da falsch mache?
Danke
Viele Grüße
André

mssolarix
Beiträge: 18
Registriert: Di 26. Mai 2020, 13:15
Danksagung erhalten: 3 Mal

Re: Docker Restart Problem

Beitrag von mssolarix »

hallo,

gleiches problem hatte ich auch und ewig nach einer lösung gesucht.
abhilfe: crontab auf hostsystem als user pi anlegen, damit die schnittstellen im Solaranzeige container mit verzögerung nach einem restart initalisiert werden:

crontab -e
@reboot /usr/bin/sleep 120 && docker container exec TestSolaranzeige /var/www/html/multi_usb_init.php >/dev/null

probier mal.

grüße
ms

DeBaschdi
Beiträge: 234
Registriert: Mo 10. Aug 2020, 08:13
Hat sich bedankt: 12 Mal
Danksagung erhalten: 43 Mal

Re: Docker Restart Problem

Beitrag von DeBaschdi »

robert65 hat geschrieben:
Mo 21. Nov 2022, 20:47
Info zu dem Problem mit dem USB-Port im legacy Docker-Container:

Ausgabe der User-Config vor dem Aufruf von "usb_init" nur device ttyUSB0 ist vorhanden
root@078e53d092f7:/var/www/html# ls /dev/ttyU*
/dev/ttyUSB0
root@078e53d092f7:/var/www/html#

In der Config ist USB0 ist konfiguriert:
root@078e53d092f7:/var/www/html# cat user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB0";
$USBDevice = "/dev/ttyUSB0";

USB_init wird aufgerufen und ändert die Konfiguration auf USB1
root@078e53d092f7:/var/www/html# /var/www/html/usb_init.php
stty: /dev/ttyUSB1: No such file or directory
root@078e53d092f7:/var/www/html# cat user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB1";
$USBDevice = "/dev/ttyUSB0";

Obwohl es keinen USB1 im Docker-Container gibt, nur am Host gibt es USB1
root@078e53d092f7:/var/www/html# ls /dev/ttyU*
/dev/ttyUSB0

Wenn es dafür keine Lösung gibt kann ich gut damit leben den Init-Befehl in einem Crontab-script als Workaround aufzurufen.
Für das Problem mit dem MQTT-Client eröffne ich einen neuen Beitrag
@robert65
Vielleicht interessant für dein Serial Trouble ?

andre1210
Beiträge: 7
Registriert: So 6. Nov 2022, 10:45
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Docker Restart Problem

Beitrag von andre1210 »

Hallo,
kurze Rückmeldung:

docker container exec Solaranzeige /var/www/html/usb_init.php >/dev/null

löst das Problem.
Allerdings wird eine Fehlermeldung ausgegeben:

sh: 1: usb-devices: not found
sh: 1: hwinfo: not found
PHP Notice: Undefined variable: USB_Devices in /var/www/html/usb_init.php on line 132
PHP Warning: file_get_contents(/sys/firmware/devicetree/base/model): failed to open stream: No such file or directory in /var/www/html/usb_init.php on line 978

Kann die ignoriert werden?

Danke
Viele Grüße
André

DeBaschdi
Beiträge: 234
Registriert: Mo 10. Aug 2020, 08:13
Hat sich bedankt: 12 Mal
Danksagung erhalten: 43 Mal

Re: Docker Restart Problem

Beitrag von DeBaschdi »

Das Problem existiert im aktuellen Dockerimage (0.1.8) nicht mehr

Antworten