軽量Java環境を爆速で作成してみる。
関連記事
- [Docker]軽量python環境を爆速で作る
- [Python]秒殺!Docker仮想環境でPython環境を構築する
- [VSCode×Docker]VSCodeでdockerコンテナに接続してファイル編集する
環境
macOS Ventura 13.3.1 (Chip: Apple M1)
軽量Java環境を爆速で作る
ちょっと今Javaプログラムを動かしたい、みたいなことが何度かあるので、手順を記載する。
イメージタグの確認
dockerhubの下記ページからイメージタグを確認する。
https://hub.docker.com/_/openjdk/tags
ここでは、比較的軽量の”slim”という文字が含まれるものを見つける。
フルのJavaイメージは2GB弱のサイズに対し、slimは200MB程度で軽量のように見える。
“slim”と検索バーに入力して検索してみる。
今回は、”XX-slim”(XXはJavaのバージョン)を見つける。
ここでは、”24-slim”を使用することとする。
コンテナの作成
Terminalを開いて、下記のように実行する。”openjdk:”の後に続くタグ名は前の手順で確認したタグ名に置き換える。
mkdir -m777 ~/javawork
docker run -it -v ~/javawork:/work -w=/work --rm openjdk:24-slim /bin/bash
(実行例)
$ mkdir -m777 ~/javawork
$ docker run -it -v ~/javawork:/work -w=/work --rm openjdk:24-slim /bin/bash
Unable to find image 'openjdk:24-slim' locally
24-slim: Pulling from library/openjdk
14c9d9d19932: Pull complete
f247fc21c995: Pull complete
25b7b6262a44: Pull complete
Digest: sha256:ba8782422321c04b73c680ddc42c316df134bb0dc07889ae35c1cc64d5a87fd3
Status: Downloaded newer image for openjdk:24-slim
root@7aa4e26e3834:/work#
これでopenjdk バージョン24が動くはず。
動作確認
まずはjavac/javaコマンドが使えるかを確認。
javac --version
java --version
(実行例)
root@7aa4e26e3834:/work# javac --version
javac 24-ea
root@7aa4e26e3834:/work# java --version
openjdk 24-ea 2025-03-18
OpenJDK Runtime Environment (build 24-ea+17-1938)
OpenJDK 64-Bit Server VM (build 24-ea+17-1938, mixed mode, sharing)
root@7aa4e26e3834:/work#
最後に~/javaworkフォルダにjavaファイルを配置してコンパイル・実行してみる。
まずは以下のjavaファイルを作成して、~/javaworkフォルダへ配置する。
class Test {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
エディタで作成してファインダーから配置してもいいし、viコマンド等で作成してもよい。
配置したファイルを、”Test.java”とすると、下記でコンパイル・実行する。
javac Test.java
java Test
(実行例)
root@7aa4e26e3834:/work# javac Test.java
root@7aa4e26e3834:/work# java Test
Hello World
root@7aa4e26e3834:/work#
補足
上記の手順で作成したコンテナはexitして抜けるとコンテナは削除される。
削除されたくない場合は、docker run した際の、”–rm”を抜いて実行する。
以上。