2017-10-17 12 views
2

これまで、HotSpotは、割り当てられたリソース(RAMなど)を誤って判断しているドッカーコンテナで実行中のレコードが不良でした。しかし、物事は徐々に改善しています。OpenJ9とドッキング用のコンテナ?

OpenJ9は、それがいることを言及したのJavaOne 2017プレゼンテーション中に、

また、コンテナが提供するリソース(メモリ、ソケット、スレッド、など)を認識しているエクステント何ドッキングウィンドウコンテナととに整列される方法OpenJ9異なるOpenJ9 VM間でジットコンパイルされたクラスをキャッシュできます。コンテナ化されたJVMがドッカーボリュームを共有している場合、VMが異なるコンテナに限定されている場合、この共有キャッシュは可能ですか?

答えて

2
  1. 現在、コンテナサポートは、cgroupの意識のために、このPRにチェックしてください。これによりコンテナのサポートを追加することができます。
  2. 共有クラスキャッシュ(SCC)に関して、両方のシナリオが可能です。ドッカーボリュームを共有する例については、hereの「クラスデータ共有機能の使用」を参照してください。 JVMが共有ボリュームのない別のコンテナに限定されている場合、SCCが事前構築されたドッカーコンテナを構築することをお勧めします。ドッカーファイルは次のようになります。

    adoptopenjdk/openjdk9-openj9 FROM:x86_64版 - 高山 - JDK-9.181

    RUNます。mkdirは/ opt/shareclasses & &ます。mkdirは/ opt /アプリ

    COPY japp.jarは/ opt /アプリ

    CMD [ "ジャワ"、 "-Xshareclasses:示すcacheDir =/OPT/shareclasses"、 "-jar"、 "/opt/app/japp.jar"]

次にイメージをビルドして実行し、結果のコンテナをコミットしてベースイメージとして作成する必要があります。

docker build -t japp:latest . docker run japp docker commit container_id japp

関連する問題