Java プログラミング

【環境構築】Javaの実行環境をDockerでサクッと構築する

※当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

ひでまる
ひでまる
こんにちは!ひでまるです!

こんな方におすすめ

  • プログラミング初心者の方
  • Javaを勉強中の方

 

ひでまる
ひでまる
今回はJavaの実行環境をDockerで作っていくよ〜

自分の学習記録として記事に残していきます!
プログラミングを学習している方、一緒にレベルアップしていきましょう!

 

記事の信頼性

  • 元プログラミングスクール講師で100人以上の生徒を担当
  • Java Silverの資格取得
  • 現役エンジニア

 

Javaの実行環境をDockerで作成する

docker

 

1.ディレクトリの作成

javaディレクトリ構成

まずは、「java-app」というディレクトリを作成します。

その中に、「srcディレクトリ」「Dockerfile」を作成します。

srcディレクトリの中には「Greeting.java」「Hello.java」を作成します。

◎コマンド一覧

mkdir java-app
cd java-app
mkdir src
touch Dockerfile
cd java-app
touch Greeting.java
touch Hello.java

 

2.Dockerfileの記述

次にDockerfileに使うイメージなどを設定していきます。

今回は「amazoncorretto」のイメージを使っていきます。
openjdkを使おうと思っていたのですが、使わないでみたいなのがあったので、1番上にあったamazoncorrettoを選びました。

DEPRECATION NOTICE

このイメージは正式に廃止されており、すべてのユーザーは適切な代替イメージをできるだけ早く見つけて使用することをお勧めします。その他の公式イメージの代替イメージの例をいくつか示します (アルファベット順にリストされており、意図的または暗黙的な優先順位はありません)。

 

Dockerfileを下記で記述します。

FROM amazoncorretto:17

WORKDIR /src

COPY src/ /src/

CMD ["bash", "-c", "javac Greeting.java Hello.java && java Greeting"]

 

・FROM amazoncorretto:17
バージョン17のAmazon Correttoイメージを使用することを指定しています。

・WORKDIR
以降のコマンドの作業ディレクトリを /src に設定します。

・CORY src/ /src/
ホスト側の src ディレクトリをコンテナ側の /src ディレクトリにコピーします。

・CMD ["bash", "-c", "javac Greeting.java Hello.java && java Greeting"]
コンテナ起動時に、Greeting.javaHello.java をコンパイルし、その後 Greeting クラスを実行します。

 

3.Greeting.javaとHello.javaを記述

◎Greeting.java

public class Greeting {
    public static void main(String[] args) {
        Hello helloInstance = new Hello();
        String greeting = helloInstance.hello();
        System.out.println(greeting);
    }
}

 

◎Hello.java

public class Hello {
    public String hello() {
        return "Hello";
    }
}

 

◎コード説明

GreetingでHelloインスタンスを作成し、helloメソッドを呼び出し、Helloを出力させます。

 

4.ビルド

Dockerfileをビルドしてイメージを作成します。イメージには「my-java-app」というタグを付けます。

docker build -t my-java-app .

 

5.実行

ビルドで作成した「my-java-app」イメージを指定して実行します。

docker run --rm my-java-app

 

◎結果

Hello

と出力されます。

 

後は、ファイルを修正したら「ビルド」→「実行」を繰り返せば再度プログラムを実行できます。

 

最後に

今回はDockerでJavaを動かせる環境を作って見ました!

自分のPCにインストールをしなくて良いので、PCをきれいに保ちたい方とかはDockerで環境を作って見てください!

-Java, プログラミング