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

gradle costruisce opere locali. Nel contenitore Docker non è così. PERCHÉ?

La libreria nativa di Java Snappy (caricata tramite JNI) è compilata contro glibc. Alpine Linux (su cui si basa il tuo container) usa musl libc che è compatibile con i sorgenti ma non con binari (in pratica significa che se compili la libreria nativa contro musl funzionerà, ma se è compilata contro glibc non funzionerà con musulmano).

Hai tre opzioni:

  1. Installa java-snappy-native (che contiene una libreria nativa creata per musl) nel tuo contenitore Alpine e imposta org.xerial.snappy.use.systemlib=true (indica alla libreria Java di utilizzare la libreria nativa preinstallata). Attualmente devi anche installare snappy poiché qualcuno non è riuscito ad aggiungere quella dipendenza al pacchetto sopra.
  2. Usa un contenitore di base con glibc
  3. Installa glibc nel tuo contenitore Alpine (non consigliato)