Docker dans Windows: Impossible de charger la bibliothèque native ‘libnative-platform.so’ pour Linux amd64

J’essaie de lancer le projet dans (au moyen de) docker. Il fonctionne correctement sur les serveurs Unix. J’utilise Windows sur ma machine locale.

La structure du projet ressemble à ceci:
entrer la description de l'image ici

contenu docker-compose.yml :

 version: '3' services: sftp: image: atmoz/sftp restart: on-failure command: missftp:missftp:::destWorking,destRejected,destSuccess,attachments mailer: image: mailhog/mailhog ports: - 8025:8025 - 1025:1025 restart: on-failure mongo: image: mongo restart: on-failure mongo-express: image: mongo-express restart: on-failure ports: - 8081:8081 environment: - ME_CONFIG_MONGODB_SERVER=mongo - ME_CONFIG_BASICAUTH_USERNAME=admin - ME_CONFIG_BASICAUTH_PASSWORD=1234 data-service: build: context: . dockerfile: Dockerfile.data-service ports: - 8801:8801 - 8802:8802 restart: on-failure volumes: - /opt/app/mis/attachments:/attachments environment: - SPRING_DATA_MONGODB_HOST=mongo - SPRING_MAIL_HOST=mailer - SPRING_MAIL_USERNAME=apikey - SPRING_MAIL_PASSWORD=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 - SPRING_MAIL_PORT=465 ... upload-service: build: context: . dockerfile: Dockerfile.upload-service ports: - 8082:8082 - 8083:8083 restart: on-failure environment: - SPRING_DATA_MONGODB_HOST=mongo ... 

Dockerfile.data-service fichier Dockerfile.data-service :

 FROM gradle:alpine COPY / ./ RUN gradle build ENTRYPOINT java -jar ./mis-data-service/build/libs/mis-data-service-0.1.jar 

Ensuite, j’exécute la commande suivante:

 docker-compose -f docker-compose.yml up 

résultat:

 Building data-service Step 1/4 : FROM gradle:alpine ---> f438b7d58d0a Step 2/4 : COPY / ./ ---> Using cache ---> b72d0e76b86c Step 3/4 : RUN gradle build ---> Running in 7ba780a524e5 FAILURE: Build failed with an exception. * What went wrong: Failed to load native library 'libnative-platform.so' for Linux amd64. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org ERROR: Service 'data-service' failed to build: The command '/bin/sh -c gradle build' returned a non-zero code: 1 

Qu’est-ce que je me trompe? Comment corriger cette erreur?

PS

J’utilise Gradle 4.6

Voir https://stackoverflow.com/a/39345276/372019 :

S’il vous plaît append la commande suivante dans votre fichier Dockerfile avant la commande RUN gradle build :

 RUN apk add --no-cache libstdc++ 

Il semble y avoir plusieurs problèmes liés à github, mais ne mentionnant pas explicitement l’hôte Windows

Certaines des choses que les gens ont mentionnées ont résolu le problème pour eux:

  • En utilisant le nouveau support, gradle 3.5 fonctionnait alors que les versions précédentes ne fonctionnaient pas. Au moins, confirmez que vous n’exécutez pas une version plus ancienne.
  • La variable d’environnement GRADLE_USER_HOME n’étant pas définie ou accessible pour l’utilisateur en cours d’exécution, que vous devez également confirmer: chmod 000 $GRADLE_USER_HOME
  • conteneur en cours d’utilisation à l’aide de --privileged flag
  • en cours d’exécution en tant que root (déconseillé si cela peut fonctionner autrement):

Dockerfile pour exécuter en tant que root:

 FROM gradle:alpine USER root