sql >> Database teknologi >  >> NoSQL >> Redis

gradle bygge lokale værker. I docker-container gør det ikke. HVORFOR?

Java Snappys oprindelige bibliotek (indlæst gennem JNI) er kompileret mod glibc. Alpine Linux (hvad din container er baseret på) bruger musl libc, som er kildekompatibel, men ikke binær-kompatibel (betyder dybest set, at hvis du kompilerer det oprindelige bibliotek mod musl, vil det fungere, men hvis det er kompileret mod glibc, vil det ikke fungere med musl).

Du har tre muligheder:

  1. Installer java-snappy-native (som indeholder et indbygget bibliotek bygget til musl) i din Alpine container og indstil org.xerial.snappy.use.systemlib=true (fortæller Java-biblioteket at bruge det forudinstallerede native bibliotek). I øjeblikket skal du også installere snappy da nogen undlod at tilføje denne afhængighed til ovenstående pakke.
  2. Brug en basisbeholder med glibc
  3. Installer glibc i din Alpine-beholder (anbefales ikke rigtigt)



  1. Visning af den sidste besked i hver samtale, der involverer en bruger, i MongoDB

  2. Dokument Læs og indsæt med låsning/transaktion i nodejs med mongodb

  3. Opbygning af REST API'er ved hjælp af EVE

  4. Introduktion til Redis datastrukturer:sæt