From Spring Microservices in Action book:私は Docker Maven Plugin を使用して、 JavaクラウドへのDockerコンテナーとしてのマイクロサービス。
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
Dockerfileのステップ4に関連する出力:
... ---> 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
なぜ取得するのですかunzip: short read
イメージをビルドしようとすると、
多分それは、アルパインのunzip
コマンドが標準の解凍ツールではなくbusyboxで提供されているという事実に関連しているかもしれません。
Busyboxには、このエラーに関連するバグがあります: https://bugs.busybox.net/show_bug.cgi?id=8821
詳細は次のとおりです: https://github.com/wahern/luaossl/issues/1
回避策として、標準のunzip
コマンドをインストールすると機能するはずです。