2016-05-29 7 views
1

hereのように、提供されたjava8ベースイメージを使用してカスタムドッカーイメージを作成しようとしました。Java8ベースイメージにjava7がインストールされています。

次の画像が、私がインストールされているJavaのバージョンを確認し作成されたとき、私は

  • FROM java
  • FROM java:latest
  • FROM java:8
  • FROM java:8-jdk

を行っている試みです(java -version )、すべてが返されます

java version "1.7.0_101" 
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-1~deb8u1) 
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode) 

私のアプリケーションがJava 1.8を使用するようにコンパイルされているため、これは問題を引き起こしています。実際にjava8をコンテナに入れるために使用するJavaイメージは何ですか?

答えて

0

あなたがリストしたすべてのイメージは、javaを実行している必要があります。8. Dockerfileを更新した後、イメージをビルドして新しいコンテナで実行していることを確認します。

echo "FROM java:8" > Dockerfile 
docker build -t my-java:latest . 
docker run --rm my-java:latest java -version 
1

これらはうまくいくはずです。私にとってはうまくいくはずです。あなたはそれを構築して新しいイメージを実行していますか?

$ echo "FROM java:latest" > Dockerfile 
$ docker build -t test . 
... 
$ docker run --rm test java -version 
openjdk version "1.8.0_91" 
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-1~bpo8+1-b14) 
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 

docker inspectを使用してローカル画像に関する情報を表示できます。あなたはJavaの画像の一つを調べる場合は、環境でのJavaのバージョンはvarsの必要があります。

$ docker inspect java:latest 
... 
      "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64", 
      "JAVA_VERSION=8u91", 
      "JAVA_DEBIAN_VERSION=8u91-b14-1~bpo8+1", 
... 

あなたの画像を表示するdocker inspectを使用している場合は、これらのenvも同様varsの見るべきである、とも使用される層を比較することができます何が起きているのかを試してみるために、Javaの画像に。

関連する問題