Ich habe das ganze noch mal überprüft und verifiziert.
Vielleicht wird irgendwann jemand vor gleichem Problem stehen wie ich.
Smartmeter konnte auf die Schnittstelle nicht zugreifen, weil die "so" im Docker nicht da ist. Damit der Container nicht als "privilegiert" laufen muss sind 2 Schritte zu erledigen.
(Ich nutze immer nur Debian, mag bei anderen Distributionen etwas anders aussehen)
in /etc/udev/rules.d legt man sich eine Datei an. z.B 99-serial.rules (Name ist egal - die Zahl vorne sollte schon in etwa 99 sein, damit die Regel möglichst am Ende ausgeführt wird)
Inhalt der Datei ist nur
KERNEL=="ttyUSB[0-9]",MODE="0666"
(Bei mir handelt es sich um USB Adapter deswegen USB. Bei "nurmalen" Seriellen Schnittstellen ist es ttyS) Hier geht es darum, dass die Rechte die normalerweise auf 660 stehen auf 666 verändert werden. Damit kann jeder auf die Schnittstelle zugreifen. Der User im Container ist nicht der gleiche wie auf dem Hostsystem. Aus dem Grund ist es wichtig
Beim Build Prozess gibt man dann den Parameter "--device /dev/ttyUSB0:/dev/ttyUSB0:rw" mit, welches die Schnittstelle vom Hostsystem in Container mappt. Mit dem RW am Ende sagt man auch, dass diese Read-Write genutzt werden kann (setzt oben das verändertes Recht 666 voraus)
An sich einfach und doch wieder nicht. Wenn man so langsam anfangen will, weiß man noch überhaupt nicht welche Parameter man beim Build Prozess brauchen wird.