Redis
 sql >> Base de données >  >> NoSQL >> Redis

gradle construire des travaux locaux. Dans le conteneur Docker, ce n'est pas le cas. POURQUOI?

La bibliothèque native de Java Snappy (chargée via JNI) est compilée avec glibc. Alpine Linux (ce sur quoi votre conteneur est basé) utilise la musl libc qui est compatible avec la source mais pas compatible avec le binaire (ce qui signifie essentiellement que si vous compilez la bibliothèque native avec musl, cela fonctionnera, mais s'il est compilé avec glibc, cela ne fonctionnera pas avec de la mousse).

Vous avez trois options :

  1. Installer java-snappy-native (qui contient une bibliothèque native conçue pour musl) dans votre conteneur Alpine et définissez org.xerial.snappy.use.systemlib=true (indique à la bibliothèque Java d'utiliser la bibliothèque native préinstallée). Actuellement, vous devez également installer snappy puisque quelqu'un n'a pas réussi à ajouter cette dépendance au paquet ci-dessus.
  2. Utiliser un conteneur de base avec glibc
  3. Installez glibc dans votre conteneur Alpine (pas vraiment recommandé)