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é
Docker Restart Problem
Moderatoren: Ulrich, DeBaschdi
Re: Docker Restart Problem
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
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
-
- Beiträge: 304
- Registriert: Mo 10. Aug 2020, 08:13
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 58 Mal
Re: Docker Restart Problem
@robert65robert65 hat geschrieben: ↑Mo 21. Nov 2022, 20:47Info 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
Vielleicht interessant für dein Serial Trouble ?
-
- Beiträge: 11
- Registriert: So 6. Nov 2022, 10:45
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 1 Mal
Re: Docker Restart Problem
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é
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é