Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Gradle bauen lokale Werke. Im Docker-Container nicht. WIESO DEN?

Die native Bibliothek von Java Snappy (geladen über JNI) wird gegen glibc kompiliert. Alpine Linux (auf dem Ihr Container basiert) verwendet die musl libc, die quellkompatibel, aber nicht binärkompatibel ist (im Grunde bedeutet dies, dass es funktioniert, wenn Sie die native Bibliothek gegen musl kompilieren, aber wenn sie gegen glibc kompiliert wird, funktioniert es nicht mit Müsli).

Sie haben drei Möglichkeiten:

  1. Installieren Sie java-snappy-native (die eine für musl erstellte native Bibliothek enthält) in Ihrem Alpine-Container und setzen Sie org.xerial.snappy.use.systemlib=true (teilt der Java-Bibliothek mit, die vorinstallierte native Bibliothek zu verwenden). Aktuell müssen Sie auch snappy installieren da jemand diese Abhängigkeit nicht zum obigen Paket hinzugefügt hat.
  2. Verwenden Sie einen Basiscontainer mit glibc
  3. Installieren Sie glibc in Ihrem Alpine-Container (nicht wirklich empfohlen)