2016-04-13 11 views
4

私はこれがドッキングウィンドウコンテナレジストリから画像を引っ張っしてインストールすることになっていると思った次の行ドッカーを使ってjava 8をインストールする最も良い方法は?

FROM java:8

で始まるdockerfileを持っています。いいえ?

私は私のコンテナ内でjavaコマンドを実行したときに、私は最も簡単でドッキングウィンドウを使用してJava 8(OpenJDKのバージョン)をインストールするための最良の方法は何

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 

次のエラーを取得しますか?

UPDATE:

RUN apt-get install -y --no-install-recommends software-properties-common 
RUN add-apt-repository -y ppa:openjdk-r/ppa 
RUN apt-get update 
RUN apt-get install -y openjdk-8-jdk 
RUN apt-get install -y openjdk-8-jre 
RUN update-alternatives --config java 
RUN update-alternatives --config javac 

答えて

4

おそらく、あなたは何かが欠けています。 8タグや8-jdkが正常に動作している:あなたはまた、Dockerfileを見ることで確認し、それが実際にJAVA_HOMEを定義していることがわかります

$ docker run -ti java:8-jdk 
[email protected]:/# echo $JAVA_HOME 
/usr/lib/jvm/java-8-openjdk-amd64 

。たとえば、java:8 Dockerfile

も参照してください。もちろん、Dockerfileの最も単純な形式は、もちろん同じ結果に評価されます。すなわち、次のように

FROM java:8-jdk 
CMD ["/bin/bash"] 

や建物を:

その後
$ docker build -t myjava . 

、それを実行する:

$ docker run -ti myjava:latest bash 
[email protected]:/# echo $JAVA_HOME 
/usr/lib/jvm/java-8-openjdk-amd64 
+0

をJavaから:8-JDK(私はこれが、効果なしにそれを変更) CMD ["/ bin/bash"](私はこれを持っていませんが、なぜJava 8のインストールに関してこの必要がありますか?) – user1870400

+0

@ user1870400 Dockerfileはどのように見えますか?あなたは何をしようとしているのですか?あなたのコンテナがJavaイメージに基づいているということは、すべてのjava依存関係で事前設定されたjavaベースイメージを持つことを意味します。残りは、あなたがしようとしていることに依存します。 'FROM java:8-jdk'はあなたの画像にインストールされたjavaを与えます – buddy123

+0

私のドッカーファイルはjava:8-jdkから1行で構成され、ドッカーをビルドするときには-t dockerfileとなります。それはうまくいきます。そして、私がドッカーを実行すると-i -t --name hello dockerfileを実行します。私はコンテナの中にいて、javaまたはjavacを入力するか、$ JAVA_HOMEをエコーし​​ます。 – user1870400

関連する問題