openwrt in docker -> Das geht?

Ja. Das geht. Sogar ziemlich gut!

Was benötigt wird, ist einfach ein rootfs.tar.gz von openwrt. Aktuell sind die für x86/amd64 und arm verfügbar. Ab Version 23.5.x steht in dem Sinne kein armvirt mehr zu Verfügung. Aber der aufmerksame Leser der Release Notes findet den Hinweis das, dass entsprechende Release in armsr/armv7 und armsr/armv8 gewandert ist.

Als erste lädt man sich entsprechend der Architektur das rootfs.tar.gz herunter. Idealerweise mit einem Download wie wget oder aria2c.

Das Dockerfile sieht wie folgt aus:

FROM scratch ADD openwrt-23.05.2-armsr-armv8-rootfs.tar.gz / RUN mkdir -p /var/lock/ && opkg update && \ mkdir -p /var/run EXPOSE 80/tcp USER root CMD ["/sbin/init"]

Der Rest sollte plausibel sein und funktioniert wie bei anderen Dockerfiles/-containern. Das Ergebnis ist ein verdammt schmaler Container.