Was ist passiert :
Grafana 6.4.X ARM in Docker funktioniert nicht mit Raspbian Buster.
Fehlermeldung beim Versuch, den Container auszuführen:
/run.sh: Zeile 80: / usr / share / grafana / bin / grafana-server: Keine solche Datei oder kein solches Verzeichnis
Was Sie erwartet hatten :
Offensichtlich: Grafana läuft fehlerfrei.
Wie man es reproduziert (so minimal und präzise wie möglich) :
Docker laufen grafana / grafana
Was müssen wir noch wissen? ::
Der Fehler wird durch eine lib-c-Nichtübereinstimmung verursacht: Grafana wird mit ld-linux-armhf.so erstellt, aber das alpine Basisbild enthält nur ld-musl-armv7.so.
Umwelt :
Vielen Dank, dass Sie dieses @ theWaldschrat gemeldet haben. Wir werden es weiter untersuchen
@theWaldschrat welches Gerät benutzt du? Ist das eine 32- oder 64-Bit-Architektur (armv6m armv7, armv8 usw.)?
Vielleicht müssen wir https://pkgs.alpinelinux.org/package/edge/main/armhf/libc6-compat in das Grafana-Docker-Image aufnehmen?
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main libc6-compat
@theWaldschrat können Sie bestätigen, dass oben das Problem löst? Es ist schwieriger für uns, dies ohne Zugriff auf ein tatsächliches ARM-Gerät zu überprüfen. Ein Docker-basiertes Armbild ist möglicherweise möglich, aber wir freuen uns, wenn Sie uns hier weiterhelfen können. Vielen Dank
Das Gerät ist ein Raspberry Pi 4B. Technisch gesehen ist es ein ARM64v8, aber Raspbian führt standardmäßig einen 32-Bit-Kernel und ein Userland aus, also ARM32v7.
uname -a
Host-Betriebssystem:
Linux raspberrypi 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l GNU/Linux
Grafana 6.3.6 Bild:
Linux 97f0bb9a456d 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l armv7l armv7l GNU/Linux
Grafana 6.4.X (aktuelles) Bild:
Linux 84a01cb75816 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l Linux
Ich habe noch nicht viele Docker-Images erstellt, daher kann ich den obigen Befehl in einem neuen Image nicht ausprobieren, zumindest nicht schnell. Aber was ich getan habe: Führen Sie ein grafana: letzter Container mit Entry Point Bash und User Root aus:
docker run -it -p 3001:3000 --entrypoint="bash" --user=root grafana/grafana
Hier ist das Ergebnis:
Error relocating /usr/share/grafana/bin/grafana-server: __memset_chk: symbol not found
Error relocating /usr/share/grafana/bin/grafana-server: __memcpy_chk: symbol not found
Error relocating /usr/share/grafana/bin/grafana-server: __vfprintf_chk: symbol not found
Error relocating /usr/share/grafana/bin/grafana-server: __fprintf_chk: symbol not found
ldd /usr/share/grafana/bin/grafana-server
beschwert sich nicht mehr über fehlende Bibliotheken, liefert jedoch die gleichen Ergebnisse wie oben.Ich bin kein Experte, aber ich denke, die lib-c sind immer noch nicht kompatibel.
@ theWaldschrat danke sehr hilfreich.
Um einige zusätzliche Dinge zu überprüfen, können Sie diese speziell ausprobieren, um zu überprüfen, ob Sie das gleiche Problem haben:
docker run -it -p 3001:3000 --entrypoint="bash" --user=root grafana/grafana-arm32v7-linux:6.4.1
docker run -it -p 3001:3000 --entrypoint="bash" --user=root grafana/grafana-arm32v7-linux:6.4.0-beta1
Können Sie zur Sicherheit auch versuchen, grafana-server auszuführen und zu starten:
docker run -it -p 3001:3000 --entrypoint="bash" --user=root grafana/grafana-arm64v8-linux:6.4.1
Die ersten beiden machen alle dasselbe wie zuvor beschrieben.
Das Ausführen von /run.sh
oder direkt /usr/share/grafana/bin/grafana-server
macht keinen Unterschied.
Der dritte beginnt nicht einmal mit einer Fehlanpassung des Bogens:
standard_init_linux.go:211: exec user process caused "exec format error"
Ich habe das gleiche Problem und musste ein Downgrade auf die Version 6.3.6
. Es scheint also, dass alle alpinen 6.4.x
Bilder für ARMv7 fehlerhaft sind.
Vielen Dank. Können Sie nach Eingabe von bash versuchen, das musl-dev-Paket mit apk add zu installieren?
musl-dev
installieren, hat aber keinen Einfluss auf das Problem, mit oder ohne libc6-compat
.
Durch die Installation der glibc-Apks von https://github.com/armhf-docker-library/alpine-pkg-glibc/releases kann grafana-server
gestartet werden. Wenn ich das Problem richtig verstehe, ist es jedoch besser, die Binärdateien statisch mit musl zu verknüpfen.
Es ist die Idee von Alpine, eine statische Verknüpfung mit Muss anstelle einer dynamischen Glibc-Verknüpfung herzustellen. Es ist schneller, kleiner, stabiler und möglicherweise sicherer. Zumindest sagen sie das so.
Soweit ich sehen kann, wird Grafana außerhalb des Zielbilds erstellt, das mit glibc verknüpft ist. Daher ist es wahrscheinlich die beste Idee, entweder glibc wie oben zu installieren oder ein anderes Basis-Image zu verwenden, das bereits glibc enthält.
Angesichts der Tatsache, dass diese Änderung das Docker-Image für ARM-Geräte effektiv zerstört hat, hatte ich etwas Besseres erwartet als ein Tag mit "Bedarfsermittlung".
Seufzer! Der Fluch der "agilen Entwicklung", denke ich.
Ich kann den Fehler in OS X reproduzieren, obwohl er etwas anders aussieht als bei Ihnen:
$ docker run --platform arm grafana/grafana
/lib/ld-linux-armhf.so.3: No such file or directory
Ich werde sehen, ob ich es reparieren kann.
Ich könnte einen Hinweis auf die Grundursache für dieses Problem haben, in der Hoffnung, dass ich es bis morgen beheben kann.
Arbeiten Sie daran, dies zu lösen, indem Sie zusätzlich zu den glibc-Binärdateien auch musl-Binärdateien erstellen.
Bin auch darauf gestoßen. Mein System ist aarch64 (RockPro64) und ich erhalte den gleichen Fehler:
/run.sh: line 80: /usr/share/grafana/bin/grafana-server: No such file or directory
Basierend auf der Arbeit in # 19798 haben wir ein Tag mit dem Namen dev-musl
an Grafana Docker Hub-Repositories gesendet. Wir konnten nur die Arm- und Arm64-Docker-Bilder mithilfe der Emulation testen. Wir bitten daher jeden, beim Testen der Arm- und Arm64-Docker-Bilder zu helfen, um zu überprüfen, ob sie wie erwartet funktionieren. Es wurde kein Manifest an grafana / grafana gesendet. Wenn Sie also arm oder arm64 ausprobieren möchten, müssen Sie das richtige Repository manuell angeben (siehe unten).
Linux / AMD64 :
docker run <args> grafana/grafana:dev-musl
Linux / Arm64 :
docker run <args> grafana/grafana-arm64v8-linux:dev-musl
Linux / Arm :
docker run <args> grafana/grafana-arm32v7-linux:dev-musl
Bitte beachten Sie, dass diese Images auf dem aktuellen Entwicklerzweig (master / Grafana v6.5.0-pre) von Grafana basieren. Wenn Sie also mit einer vorhandenen Grafana-Installation testen möchten, denken Sie daran, Ihre vorhandenen Daten zu
Testumfang:
docker logs <image name>
keine unerwarteten Fehler ausgibt.Danke im Voraus
$ uname -a
Linux black-pearl 4.14.70-hypriotos-v7+ #1 SMP Sat Sep 22 05:54:18 UTC 2018 armv7l GNU/Linux
LGTM läuft auf einem Raspberry 3B
SBC: Cubietruck (auch bekannt als CubieBoard 3)
$ uname -a
Linux fernia 4.19.62-sunxi # 5.92 SMP Mi 31 Jul 22:07:23 MESZ 2019 armv7l armv7l armv7l GNU / Linux
LGTM
Vielen Dank für die schnellen Antworten und die Hilfe. Sehr geschätzt.
Einverstanden, danke für die Hilfe beim Test!
Am Dienstag, 22. Oktober 2019, 19:05 Uhr Marcus Efraimsson [email protected]
schrieb:
Vielen Dank für die schnellen Antworten und die Hilfe. Sehr geschätzt.
- -
Sie erhalten dies, weil Sie zugewiesen wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/grafana/grafana/issues/19585?
oder abbestellen
https://github.com/notifications/unsubscribe-auth/AACEVV3OBIAWAV3ZNAP4XEDQP4XHPANCNFSM4I42J4CA
.
uname -a
Linux raspberrypi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux
Himbeer pi 4b
docker -v
Docker version 19.03.4, build 9013bf5
LGTM: Himbeer-Pi 4
$ uname -a
Linux worker-3 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux
LGTM
rockchip rock64
$ uname -a
Linux rock64 4.4.132-1072-rockchip-ayufan-ga1d27dba5a2e #1 SMP Sat Jul 21 20:18:03 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
Docker-Fähigkeitsstufe
Neuling
Grafana Fähigkeitsstufe
Neuling
-uname -a
Linux SwingerPictureServer 4.19.75-v7 + # 1270 SMP ........... armv71 GNU / Linux
HW
Himbeer pi 3B
compose.sh Datei:
Docker run \
--name Grafana_test \
-p 3001: 3001 \
-e "GF_SERVER_ROOT_URL = http: //
-e "GF_SECURITY_ADMIN_PASSOWRD =
--mount type = bind, source = "/ home / pi / DockerConf / Grafana / test / config", target = "/ etc / grafana": ro \
grafana / grafana-arm32v7- linux: dev-musl
Logdatei:
warn: msg = "phantomJS ist veraltet und wird in der zukünftigen Version entfernt ...
Vielen Dank an alle. Wir haben dies zum Master zusammengeführt, aber beschlossen, dieses Update in Grafana v6.5.0 aufzunehmen, das in ein paar Wochen veröffentlicht werden soll. Bis dahin können Sie nächtliche Builds verwenden, wenn Sie Grafana v6.5-vor ARM-kompatible Grafana-Docker-Images mithilfe des Tags grafana/grafana:master
ausführen möchten.
Bitte fügen Sie dem Docker-Hub einen Hinweis hinzu, damit Sie dieses Problem leichter finden können. Wenn Sie gerade an grafana / grafana ziehen, erhalten Sie immer noch ein nicht funktionierendes Bild auf armhf.
Ich möchte nur kommentieren, dass grafana / grafana-arm32v7- linux: Die neueste Version funktioniert jetzt gut für mich (dieses Bild ), daher habe ich nicht angeheftete Versionen 👍
@mhansen du kannst direkt das Basisbild verwenden (grafana / grafana: aktuell), es ist multiarch :)
Ich verwende derzeit grafana / grafana: 6.5.1@sha256 : befcd84da2c1f3310b23d93ba9eec4a80df4c86c04bd39455623ac632fbcefdd in einem ARM-Cluster.
@theWaldschrat @pedroetb @mhansen @herm @SySfRaMe @ krystian-wojtas @pgolm @gcgarner @JochenLutz @iwittkau @JasonSwindle @ protik77 @ ata4 Wir könnten Ihnen beim Testen neuer Builds (Docker-Images und Teerarchive) helfen helfen? Wir würden uns freuen!
MUSL-Archive sind für Alpine Linux, GLIBC-Archive für reguläre Linux-Distributionen:
Docker-Bild
grafana / grafana-arm64v8- linux: master-df1d43167af035c6819923ecce135056f37c79c2-new-Pipeline funktioniert gut auf Raspberry Pi 4B mit Kernel 4.19.97-v8 + und Docker CE 19.03.5.
Danke @volschin!
Hatte heute ein Problem mit dem Container, nachdem er ungefähr 24 Stunden gelaufen war (kein Templating Init). Dies ist nichts, was in den letzten Monaten passiert ist. Vielleicht liegt also ein Stabilitätsproblem vor.
Hatte heute ein Problem mit dem Container, nachdem er ungefähr 24 Stunden gelaufen war (kein Templating Init). Dies ist nichts, was in den letzten Monaten passiert ist. Vielleicht liegt also ein Stabilitätsproblem vor.
Was für ein Problem hast du genau bei volschin gesehen?
@ aknuds1 Entschuldigung, ich bin noch nicht dazu gekommen, die neuen Docker-Arm-Bilder vollständig zu testen. Gibt es eine Möglichkeit, Tests zu automatisieren?
Ich habe keine automatisierte Methode, sorry @iwittkau.
Ich sehe grafana / grafana nicht mehr
$ docker run --rm mplatform/mquery grafana/grafana
Image: grafana/grafana
* Manifest List: No
* Supports: amd64/linux
Ich habe zu grafana / grafana: master gewechselt
Ich sehe grafana / grafana nicht mehr
$ docker run --rm mplatform/mquery grafana/grafana Image: grafana/grafana * Manifest List: No * Supports: amd64/linux
Ich habe zu grafana / grafana: master gewechselt
@mhansen Interessant, danke für das Heads Up. Ich werde das überprüfen müssen.
Für das, was es wert ist, verwende ich momentan grafana/grafana-arm32v7-linux:latest
. Obwohl es 6.7.1 installiert hat.
Hilfreichster Kommentar
Vielen Dank an alle. Wir haben dies zum Master zusammengeführt, aber beschlossen, dieses Update in Grafana v6.5.0 aufzunehmen, das in ein paar Wochen veröffentlicht werden soll. Bis dahin können Sie nächtliche Builds verwenden, wenn Sie Grafana v6.5-vor ARM-kompatible Grafana-Docker-Images mithilfe des Tags
grafana/grafana:master
ausführen möchten.