DockerでJavaの開発環境構築
概要
Docker上にJavaのコンテナを設置するだけのシンプルな環境を構築します。
プログラムを極めし証Hello World!
をコンソールに出力するところまでをご紹介します(笑)
環境
- macOS Catalina バージョン10.15.5
- Docker version 19.03.8
- docker-compose version 1.25.5
構成
最終的に以下のような構成になります。
├── docker
│ └── java
│ └── Dockerfile
├── docker-compose.yml
└── server
└── src
├── Main.class
└── Main.java
手順
1. docker-compose.yml作成
javaコンテナ1つだけのシンプルな構成です。
docker-compose.yml
version: '3.6'
services:
java:
build: ./docker/java
ports:
- 8080:8080
tty: true
volumes:
- ./server/src:/usr/src:cached
2. Dockerfile作成
Dockerfile
FROM openjdk:11-slim
RUN apt-get update
WORKDIR /usr/src
3. テストファイルを作成
Main.javaというテストファイルを作成します。
Main.java
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
4. Docker起動
// dockerビルド
% docker-compose build
// dockerをバックグラウンドで起動
% docker-compose up -d
// 確認
% docker-compose ps
Name Command State Ports
-------------------------------------------------------------
java-spring_java_1 jshell Up 0.0.0.0:8080->8080/tcp
5. コンパイルと実行
// インスペクション
% docker-compose exec java bash
// コンパイル
root@5b7be900c329:/usr/src# javac Main.java
// 実行
root@5b7be900c329:/usr/src# java Main
Hello World!