私はopenjdkではなくOracle Javaでアルパインベースのドッカー画像を作成しようとしています。私はここに独自のイメージを作成するように特別に求められてきました。Docker alpine + oracle java:javaを見つけることができません
これは私が作ってみたDockerfileです:そこデバッグを支援するために追加された(JAVA_HOMEのディレクトリをエコーのような)いくつかの不要なコマンドがありますが、今私がこだわっている
FROM alpine:3.6
RUN apk add --no-cache curl wget
RUN mkdir /opt/ && \
wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie"\
http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz && \
tar xvf jdk-8u131-linux-x64.tar.gz -C /opt/ && \
rm jdk-8u131-linux-x64.tar.gz && \
ln -s /opt/jdk1.8.0_131 /opt/jdk
ENV JAVA_HOME /opt/jdk
ENV PATH $PATH:/opt/jdk/bin
RUN echo $JAVA_HOME && \
echo $PATH
RUN which java
RUN java -version
:RUN which java
期待どおり/opt/jdk/bin/java
が返されますが、RUN java -version
は/bin/sh: java: not found
を返します。
実行ファイルを/ usr/binにシンボリックリンクするなど、いくつか試してみましたが、無駄です。
私には何が欠けていますか?
EDIT:ドッキングウィンドウから 最終的な出力は次のようになります。 The command '/bin/sh -c java -version' returned a non-zero code: 127
最終編集:libcの対MUSLに私を置くためdiginoiseする
感謝。
で発見RUN apk --no-cache add ca-certificates && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk && \
apk add glibc-2.25-r0.apk
:https://github.com/sgerrand/alpine-pkg-glibc
あなたはエコー$ JAVA_HOMEと$ PATHから何を得るのですか? – Edwin
JAVA_HOME: '/ opt/jdk' パス:'/usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ opt/jdk/bin' – phanteh
'RUN echo" $(java -version) "'を試すことができますか? – Edwin