Qu'est-il arrivé :
Grafana 6.4.X ARM dans Docker ne fonctionne pas sur Raspbian Buster.
Message d'erreur lors de la tentative d'exécution du conteneur:
/run.sh: ligne 80: / usr / share / grafana / bin / grafana-server: aucun fichier ou répertoire de ce type
Ce Ă quoi vous vous attendiez :
Ăvident: Grafana fonctionne sans erreur.
Comment le reproduire (de la maniÚre la plus minimale et la plus précise possible) :
docker run grafana / grafana
Y a-t-il autre chose que nous devons savoir? :
L'erreur est causée par une incompatibilité lib-c: Grafana est compilé avec ld-linux-armhf.so, mais l'image de base Alpine ne contient que ld-musl-armv7.so.
Environnement :
Merci d'avoir signalé cela @theWaldschrat, nous l'
@theWaldschrat quel appareil utilisez-vous? S'agit-il d'une architecture 32 ou 64 bits (armv6m armv7, armv8, etc.)?
Peut-ĂȘtre que nous devons inclure https://pkgs.alpinelinux.org/package/edge/main/armhf/libc6-compat dans l'image docker Grafana?
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main libc6-compat
@theWaldschrat pouvez-vous confirmer que ci-dessus rĂ©sout le problĂšme? Il est plus difficile pour nous de vĂ©rifier sans avoir accĂšs Ă un appareil ARM rĂ©el.L'image de bras basĂ©e sur un docker peut ĂȘtre une possibilitĂ©, mais apprĂ©ciez si vous pouvez nous aider ici. Merci
L'appareil est un Raspberry Pi 4B. Techniquement, c'est un ARM64v8, mais Raspbian exécute par défaut un noyau et un espace utilisateur 32 bits, donc ARM32v7.
uname -a
OS hĂŽte:
Linux raspberrypi 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l GNU/Linux
Image Grafana 6.3.6:
Linux 97f0bb9a456d 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l armv7l armv7l GNU/Linux
Image Grafana 6.4.X (derniĂšre):
Linux 84a01cb75816 4.19.66-v7l+ #1253 SMP Thu Aug 15 12:02:08 BST 2019 armv7l Linux
Je n'ai pas encore construit beaucoup d'images Docker, donc je ne peux pas essayer la commande ci-dessus dans une nouvelle image, du moins pas rapidement. Mais ce que j'ai fait: Exécuter un grafana: dernier conteneur avec point d'entrée bash et user root:
docker run -it -p 3001:3000 --entrypoint="bash" --user=root grafana/grafana
Voici le résultat:
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
ne se plaint plus des bibliothĂšques manquantes, mais donne les mĂȘmes rĂ©sultats que ci-dessus.Je ne suis pas un expert, mais je suppose que les lib-c ne sont toujours pas compatibles.
@theWaldschrat merci trĂšs utile.
Juste pour vĂ©rifier certaines choses supplĂ©mentaires, vous pouvez les essayer spĂ©cifiquement pour vĂ©rifier que vous rencontrez le mĂȘme problĂšme:
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
Pour ĂȘtre sĂ»r, pouvez-vous Ă©galement essayer d'exĂ©cuter et de dĂ©marrer grafana-server:
docker run -it -p 3001:3000 --entrypoint="bash" --user=root grafana/grafana-arm64v8-linux:6.4.1
Les deux premiers font tous la mĂȘme chose que celle dĂ©crite prĂ©cĂ©demment.
Lancer /run.sh
ou directement /usr/share/grafana/bin/grafana-server
ne fait aucune différence.
Le troisiĂšme ne commence mĂȘme pas par une discordance d'arche:
standard_init_linux.go:211: exec user process caused "exec format error"
J'ai le mĂȘme problĂšme et j'ai dĂ» passer Ă la version 6.3.6
, il semble donc que toutes les images 6.4.x
basées sur Alpine sont cassées pour ARMv7.
Merci. AprÚs avoir entré bash, pouvez-vous essayer d'installer le packade musl-dev en utilisant apk add?
musl-dev
s'installe bien pour moi, mais n'a pas d'impact sur le problĂšme, avec ou sans libc6-compat
.
L'installation des apks de la glibc depuis https://github.com/armhf-docker-library/alpine-pkg-glibc/releases permet Ă grafana-server
de démarrer. Si je comprends bien le problÚme, il est préférable de lier statiquement les binaires avec musl.
C'est l'idée d'Alpine de se lier statiquement à musl au lieu d'un lien glibc dynamique. C'est plus rapide, plus petit, plus stable et potentiellement plus sécurisé. Du moins c'est ce qu'ils disent.
Mais pour autant que je puisse voir, Grafana est construit en dehors de l'image cible liée à la glibc, c'est donc probablement la meilleure idée d'installer la glibc comme ci-dessus ou d'utiliser une image de base différente qui inclut déjà la glibc.
ConsidĂ©rant que ce changement a effectivement cassĂ© l'image du docker pour les appareils ARM, je m'attendais Ă quelque chose de mieux qu'une balise «enquĂȘte sur les besoins».
Soupir! La malédiction du "développement agile", je suppose.
Je peux reproduire l'erreur sous OS X, mĂȘme si elle est un peu diffĂ©rente du vĂŽtre:
$ docker run --platform arm grafana/grafana
/lib/ld-linux-armhf.so.3: No such file or directory
Je verrai si je peux le réparer.
Je pourrais avoir une piste sur la cause profonde de ce problÚme, en espérant pouvoir le résoudre demain.
Travailler pour résoudre ce problÚme en construisant des binaires musl en plus de ceux de la glibc.
Je viens de rencontrer cela aussi. Mon systĂšme est aarch64 (RockPro64) et j'obtiens la mĂȘme erreur:
/run.sh: line 80: /usr/share/grafana/bin/grafana-server: No such file or directory
Sur la base du travail de # 19798, nous avons poussé une balise nommée dev-musl
dans les référentiels du hub grafana docker. Nous n'avons pu tester que les images docker arm et arm64 à l'aide de l'émulation.Nous demandons donc à quiconque de bien vouloir vous aider à tester les images docker arm et arm64 pour vérifier qu'elles fonctionnent comme prévu. Aucun manifeste n'a été poussé vers grafana / grafana, donc si vous voulez essayer arm ou arm64, vous devez spécifier manuellement le référentiel correct, voir ci-dessous.
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
Veuillez noter que ces images sont basées sur la branche de développement actuelle (master / Grafana v6.5.0-pre) de Grafana, donc si vous souhaitez tester avec une installation Grafana existante, n'oubliez pas de sauvegarder vos données existantes .
Portée du test:
docker logs <image name>
ne doit pas générer de résultat inattendu, comme des erreurs.Merci d'avance
$ uname -a
Linux black-pearl 4.14.70-hypriotos-v7+ #1 SMP Sat Sep 22 05:54:18 UTC 2018 armv7l GNU/Linux
LGTM fonctionnant sur un Raspberry 3B
SBC: Cubietruck (alias CubieBoard 3)
$ uname -a
Linux fernia 4.19.62-sunxi # 5.92 SMP mercredi 31 juillet 22:07:23 CEST 2019 armv7l armv7l armv7l GNU / Linux
LGTM
Merci beaucoup pour les réponses rapides et l'aide. TrÚs apprécié.
D'accord, merci d'avoir aidé à tester!
Le mar 22 octobre 2019, 19:05 Marcus Efraimsson [email protected]
a Ă©crit:
Merci beaucoup pour les réponses rapides et l'aide. TrÚs apprécié.
-
Vous recevez cela parce que vous avez été affecté.
RĂ©pondez directement Ă cet e-mail, affichez-le sur GitHub
https://github.com/grafana/grafana/issues/19585?email_source=notifications&email_token=AACEVV4YMCESH5G7XWTY3QLQP4XHPA5CNFSM4I42J4CKYY3PNVWWK3TUL52HS4YMCESH5G7XWTY3QLQP4XHPA5CNFSM4I42J4CKYY3PNVWWK3TUL52HS4YMCESH5G7XWTY3QLQP4XHPA5CNFSM4I42J4CKYY3PNVWWK3TUL52HS4VMVFVOMBX63NVWWK3TUL52HS4VMVFVOMX63NVWWK3TUL52HS4VMVLOX63
ou se désinscrire
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
framboise pi 4b
docker -v
Docker version 19.03.4, build 9013bf5
LGTM: framboise 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
Niveau de compétence Docker
Noob
Niveau de compétence Grafana
Noob
-uname -a
Linux SwingerPictureServer 4.19.75-v7 + # 1270 SMP ........... armv71 GNU / Linux
HW
Framboise pi 3B
Fichier compose.sh:
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
Fichier journal:
warn: msg = "phantomJS est obsolÚte et sera supprimé dans la prochaine version ...
Merci a tous. Nous avons fusionné cela pour master, mais avons décidé d'inclure ce correctif dans Grafana v6.5.0, qui sera publié dans quelques semaines. Jusque-là , vous pouvez utiliser des builds nocturnes si vous souhaitez exécuter des images docker Grafana compatibles Grafana v6.5-pre ARM en utilisant la balise grafana/grafana:master
.
Veuillez ajouter une note Ă Docker Hub afin qu'il soit plus facile de trouver ce problĂšme. Si vous tirez actuellement grafana / grafana, vous obtenez toujours une image non fonctionnelle sur armhf.
Il suffit de commenter pour noter que grafana / grafana-arm32v7- linux: latest fonctionne maintenant trĂšs bien pour moi (cette image ), donc j'ai des versions non Ă©pinglĂ©es đ
@mhansen vous pouvez utiliser directement l'image de base (grafana / grafana: dernier), c'est multiarch :)
J'utilise actuellement grafana / grafana: 6.5.1@sha256 : befcd84da2c1f3310b23d93ba9eec4a80df4c86c04bd39455623ac632fbcefdd dans un cluster ARM.
@theWaldschrat @pedroetb @mhansen @herm @SySfRaMe @ krystian-wojtas @pgolm @gcgarner @JochenLutz @iwittkau @JasonSwindle @ protik77 @ ata4 nous pourrions utiliser de l'aide pour tester de nouveaux architectures de builds (images Docker et archives
Les archives MUSL sont pour Alpine Linux, celles GLIBC sont pour les distributions Linux classiques:
Image Docker
grafana / grafana-arm64v8- linux: master-df1d43167af035c6819923ecce135056f37c79c2-new-pipeline fonctionne
Merci @volschin!
J'ai eu un problĂšme avec le conteneur aujourd'hui aprĂšs avoir fonctionnĂ© environ 24h (pas de crĂ©ation de modĂšles). Ce n'est rien de ce qui s'est passĂ© ces derniers mois. Il y a donc peut-ĂȘtre un problĂšme de stabilitĂ©.
J'ai eu un problĂšme avec le conteneur aujourd'hui aprĂšs avoir fonctionnĂ© environ 24h (pas de crĂ©ation de modĂšles). Ce n'est rien de ce qui s'est passĂ© ces derniers mois. Il y a donc peut-ĂȘtre un problĂšme de stabilitĂ©.
Quel genre de problĂšme avez-vous vu exactement @volschin?
@ aknuds1 désolé, je n'ai pas encore réussi à tester complÚtement les nouvelles images du bras docker. Existe-t-il un moyen d'automatiser les tests?
Je n'ai pas de méthode automatisée, désolé @iwittkau.
Je ne vois plus grafana / grafana: le dernier Ă©tant multiarch, seulement amd64 / linux.
$ docker run --rm mplatform/mquery grafana/grafana
Image: grafana/grafana
* Manifest List: No
* Supports: amd64/linux
Je suis passé à grafana / grafana: master
Je ne vois plus grafana / grafana: le dernier Ă©tant multiarch, seulement amd64 / linux.
$ docker run --rm mplatform/mquery grafana/grafana Image: grafana/grafana * Manifest List: No * Supports: amd64/linux
Je suis passé à grafana / grafana: master
@mhansen Intéressant, merci pour la mise en
Pour ce que ça vaut, j'utilise grafana/grafana-arm32v7-linux:latest
pour le moment. Bien qu'il ait installé 6.7.1.
Commentaire le plus utile
Merci a tous. Nous avons fusionné cela pour master, mais avons décidé d'inclure ce correctif dans Grafana v6.5.0, qui sera publié dans quelques semaines. Jusque-là , vous pouvez utiliser des builds nocturnes si vous souhaitez exécuter des images docker Grafana compatibles Grafana v6.5-pre ARM en utilisant la balise
grafana/grafana:master
.