Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

gradle construir obras locais. No contêiner docker, não. PORQUE?


A biblioteca nativa do Java Snappy (carregada através de JNI) é compilada com base na glibc. O Alpine Linux (no qual seu container é baseado) usa o musl libc que é compatível com a fonte, mas não compatível com o binário (basicamente significa que se você compilar a biblioteca nativa no musl ele funcionará, mas se for compilado no glibc não funcionará com muçulmano).

Você tem três opções:
  1. Instalar java-snappy-native (que contém uma biblioteca nativa criada para musl) em seu contêiner Alpine e defina org.xerial.snappy.use.systemlib=true (informa a biblioteca Java para usar a biblioteca nativa pré-instalada). Atualmente você também precisa instalar o snappy já que alguém falhou em adicionar essa dependência ao pacote acima.
  2. Use um container base com glibc
  3. Instale o glibc em seu contêiner Alpine (não recomendado)