アプリの実行/開発環境用に Alpine ベースの Java 1.5 Docker イメージ (Docker Hub の Alpine ベース) をセットアップしたいのですが、インストーラーがチェックのために実行に失敗します (df コマンドが何も返さない)。次に、.bin ファイルからイメージを抽出し、抽出したイメージに実行権限を追加しようとすると、「ELF... not found」のようなメッセージが表示されます。ダウンロードしたバージョンの JRE インストーラーに従ってアーキテクチャーを二重にチェックし、同じであることを確認しました。
Alpine に JRE 7/8 をインストールする方法を教えてください。なぜ 5 ではないのですか? そして最も重要なのは、それをあきらめる以外に何ができるのでしょうか?
前もって感謝します。
答え1
Alpine は musl libc を使用しますが、Oracle Java バイナリは glibc でのみ実行されます。つまり、そのままの Alpine でバイナリを使用することはできません。vizzbuzz/base-java
glibc パッケージをインストールすることで、musl libc がもたらす複雑さを解決します。 をチェックしてDockerfile
独自のイメージを作成するか、プロジェクトにそのイメージを使用してください。
これについては、非常に価値のある議論がありますdocker-alpine 問題 #11。
ちなみに、私は sillelien の Alpine 用ベース イメージが大好きです。これらのイメージは、コマンドに応答してプロセスを安全にログに記録したりシャットダウンしたりするなどのいくつかの問題を修正するプロセス スーパーバイザーとして S6 を使用しているからですdocker stop
。