sql >> Databáze >  >> NoSQL >> Redis

gradle budovat místní díla. V kontejneru docker tomu tak není. PROČ?

Nativní knihovna Java Snappy (načtená přes JNI) je kompilována proti glibc. Alpine Linux (na kterém je váš kontejner založen) používá musl libc, který je kompatibilní se zdrojovým kódem, ale ne binárně (v zásadě to znamená, že pokud zkompilujete nativní knihovnu proti musl, bude fungovat, ale pokud bude zkompilována proti glibc, nebude fungovat s muslem).

Máte tři možnosti:

  1. Nainstalujte java-snappy-native (která obsahuje nativní knihovnu vytvořenou pro musl) ve vašem kontejneru Alpine a nastavte org.xerial.snappy.use.systemlib=true (říká knihovně Java, aby používala předinstalovanou nativní knihovnu). V současné době je také potřeba nainstalovat snappy protože někdo nedokázal přidat tuto závislost do výše uvedeného balíčku.
  2. Použijte základní kontejner s glibc
  3. Nainstalujte glibc do svého kontejneru Alpine (ve skutečnosti se nedoporučuje)



  1. Nejlepší middleware pro ukládání relací pro Express + MongoDB

  2. Pro test jednotky použijte falešný server MongoDB

  3. MongoDB $pullAll

  4. najít ID nejnovějšího dílčího dokumentu vloženého do mongoose