De Spring Microservices in Action book: J'essaie d'utiliser Docker Maven Plugin pour construire une image docker pour déployer un Java microservice en tant que conteneur Docker dans le cloud.
Dockerfile:
FROM openjdk:8-jdk-Alpine
RUN mkdir -p /usr/local/configserver
ADD jce_policy-8.Zip /tmp/
RUN unzip /tmp/jce_policy-8.Zip && \
rm /tmp/jce_policy-8.Zip && \
yes | cp -v /tmp/UnlimitedJCEPolicyJDK8/*.jar /usr/lib/jvm/Java-1.8-openjdk/jre/lib/security/
ADD @[email protected] /usr/local/configserver/
ADD run.sh run.sh
RUN chmod +x run.sh
CMD ./run.sh
Sortie liée à l'étape 4 dans Dockerfile:
... ---> Using cache ---> dd33d4c12d29 Step 4/8 : RUN unzip /tmp/jce_policy-8.Zip && rm /tmp/jce_policy-8.Zip && yes | cp -v /tmp/UnlimitedJCEPolicyJDK8/*.jar /usr/lib/jvm/Java-1.8-openjdk/jre/lib/security/ ---> Running in 1071273ceee5 Archive: /tmp/jce_policy-8.Zip unzip: short read
Pourquoi est-ce que j'obtiens unzip: short read
lorsque j'essaye de construire l'image?
Cela est peut-être lié au fait que la commande unzip
dans Alpine est fournie avec busybox et non avec l'outil de décompression standard.
Busybox contient des bogues liés à cette erreur: https://bugs.busybox.net/show_bug.cgi?id=8821
Voici un problème connexe avec plus de détails: https://github.com/wahern/luaossl/issues/1
Pour résoudre ce problème, l'installation de la commande standard unzip
devrait fonctionner.