AmazonLinuxにJRE8/JDK8を入れたDockerコンテナイメージを作成する

AmazonLinuxにJRE8/JDK8を入れたDockerコンテナイメージを作成する:


背景

  • AmazonLinuxにJRE(色々な経緯がありver8)が入ったコンテナイメージを作成する

    • 過去の様々な経緯があり 8 です
  • JDK, JREをそれぞれのパッケージ名が混乱したのでメモ
  • それぞれのイメージサイズもメモしておく


JREコンテナイメージ作成

  • JREの方のDockerfileです
  • headlessというのがJREのみ入っています

    • 無印の java-1.8.0-openjdk はiconなどが入っている分容量が大きいらしい
  • 実際はマルチステージビルドで利用することが多いかと思いますが、今回は簡略化してベースイメージで動かします
Dockerfile
FROM amazonlinux:2.0.20181114 
RUN yum install -y java-1.8.0-openjdk-headless && yum clean all 
  • イメージを作成 & (アンチパターン感ありますが、sshで入って) java, javac のバージョンを確認します
# Dockerコンテナイメージを作成 
$ docker build -t amazonlinux-jre8 . 
(省略) 
 
# (確認のため) コンテナにsshで入ってversionを確認  
$ docker run -it amazonlinux-jre8 sh 
sh-4.2# java -version 
openjdk version "1.8.0_191" 
OpenJDK Runtime Environment (build 1.8.0_191-b12) 
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) 
sh-4.2# javac -version 
sh: javac: command not found 
  • 無事、javaコマンドは実行でき、javacコマンドは(当然)インストールされていません


JDKコンテナイメージ作成

  • JDKの方のDockerfileです

  • devel 付きがJDKになります
Dockerfile
FROM amazonlinux:2.0.20181114 
RUN yum install -y java-1.8.0-openjdk-devel && yum clean all 
  • JRE版と同じくイメージを作成 & java, javac のバージョンを確認します
# Dockerコンテナイメージを作成 
$ docker build -t amazonlinux-jdk 
(省略) 
 
# (確認のため) コンテナにsshで入ってversionを確認  
$ docker run -it amazonlinux-jdk sh 
sh-4.2# java -version 
openjdk version "1.8.0_191" 
OpenJDK Runtime Environment (build 1.8.0_191-b12) 
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) 
sh-4.2# javac -version 
javac 1.8.0_191 
  • 無事、java, javac の両方のコマンドが利用可能


サイズを確認


  • docker images コマンドでイメージサイズを取得可能なので取得

    • ベースのamazonlinuxとの差分が、JRE,JDKのパッケージサイズ追加コマンドで生じたもの
$ docker images --format "table {{.Repository}}\t{{.Size}}" | grep amazonlinux 
amazonlinux                  162MB 
amazonlinux-jre8             308MB 
amazonlinux-jdk              362MB 


まとめ

  • JREしか使わないときは java-1.8.0-openjdk-headless
  • JDKを使うときは java-1.8.0-openjdk-devel

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)