Dockerで簡単!Jakarta EE開発環境の構築手順を初心者向けに解説
生徒
「先生、Jakarta EEの開発環境って、毎回パソコンにインストールするのが面倒なんですが、もっと楽な方法ってありますか?」
先生
「それならDockerを使うと便利ですよ。Jakarta EEのサーバーも一瞬で準備できます。」
生徒
「Dockerって難しいイメージがあるんですが、初心者でも使えるんですか?」
先生
「基本的な使い方を覚えれば、Jakarta EEの開発環境も驚くほど簡単に構築できますよ。手順を詳しく説明していきますね。」
1. Jakarta EEの開発にDockerを使うメリット
Jakarta EEの開発環境を構築する際、Dockerを使うと次のような利点があります。
- 複雑なインストール作業が不要
- 環境を壊すことなく実験ができる
- 複数のサーバー(GlassFishやPayaraなど)を簡単に切り替え可能
- チームで同じ環境を共有できる
Jakarta EEではGlassFishやPayaraなどのアプリケーションサーバーを利用しますが、それらもDockerで簡単に実行できます。
2. Jakarta EE開発に必要なDockerの基本知識
Dockerは、コンテナと呼ばれる仮想環境を利用してアプリケーションを実行します。Dockerを使えば、Jakarta EEのようなJavaアプリケーションサーバーを環境に影響なく使えるようになります。
以下はJakarta EEでよく使われるDocker関連の用語です。
- Docker イメージ: Jakarta EEのサーバーやアプリを含む設計図
- Docker コンテナ: イメージから実際に動かす仮想環境
- Dockerfile: イメージを作るためのレシピ
3. Jakarta EE対応のDockerイメージを選ぶ
Jakarta EEで使える代表的なDockerイメージは以下の通りです。
glassfish:Jakarta EEのリファレンス実装サーバーpayara/server-full:商用向けの高性能サーバーwildfly:Red Hatが開発しているJakarta EE対応サーバー
ここでは、公式のGlassFishを使ってDocker環境を構築する手順を紹介します。
4. DockerでGlassFish環境をセットアップする手順
まずはGlassFishを動かすためのDockerコマンドを実行してみましょう。
docker run -d -p 8080:8080 -p 4848:4848 --name jakartaee-glassfish glassfish
このコマンドの意味は以下の通りです。
-d:バックグラウンドで実行-p:ホストとコンテナのポートを接続--name:コンテナに名前をつける
ブラウザで http://localhost:8080 にアクセスすると、GlassFishのトップページが表示されます。
5. Jakarta EEアプリケーションのデプロイ方法
GlassFishではWARファイルを管理画面からアップロードすることでJakarta EEアプリケーションをデプロイできます。
GlassFishの管理コンソールは http://localhost:4848 にアクセスすると開けます。
管理画面で「アプリケーション」からWARファイルをアップロードすればすぐに動作確認ができます。
6. Docker ComposeでJakarta EE開発環境を一括管理
複雑な設定を毎回書くのが面倒な場合は、docker-compose.ymlを使うと便利です。
version: '3'
services:
glassfish:
image: glassfish
ports:
- "8080:8080"
- "4848:4848"
上記のファイルを作成してから、以下のコマンドを実行すると一括で環境が起動します。
docker-compose up -d
7. Jakarta EE開発におけるDockerの活用ポイント
Jakarta EEをDockerで開発する際のコツをまとめておきます。
- IDE(EclipseやIntelliJ)と連携してホットデプロイ環境を作る
- ソースコードはホスト側に置き、コンテナとマウントして開発
- データベース(MySQLやPostgreSQL)もDockerで連携可能
- 複数のバージョンのGlassFishを切り替えてテストできる
Jakarta EEの開発にDockerを取り入れることで、環境構築の時間を大幅に短縮できます。特に初心者にとっては、失敗してもすぐに作り直せるのが大きな魅力です。
8. Jakarta EE学習者におすすめのDocker活用法
Jakarta EEの学習を始めたばかりの方におすすめなのは、以下の使い方です。
- GitHubからWARファイルをダウンロードしてデプロイしてみる
- ローカルのJavaコードをビルドしてWARを作成し、GlassFishにデプロイ
- 複数のアプリケーションを同時にテストする
最初は手動で操作して慣れたら、Docker Composeを使って効率的な運用を目指しましょう。
まとめ
Dockerを活用したJakarta EE開発環境の構築は、従来のローカルインストールに比べて圧倒的に効率が良く、初心者でも短時間で安定したサーバー環境を用意できる非常に便利な方法です。この記事で学んだように、DockerはGlassFishやPayara、WildFlyといったJakarta EE対応サーバーを手軽に起動でき、環境構築にかかる時間と手間を大幅に削減できます。特に、複数のサーバーを試したい場合や、設定を壊してしまうリスクを避けたいときにDockerはとても相性が良く、コンテナを削除すればすぐに綺麗な状態へ戻せるというメリットがあります。 また、Dockerの基本概念であるイメージ・コンテナ・Dockerfileを理解することで、自分のアプリケーションを自由にカスタマイズして動かす環境を構築できるようになります。Jakarta EE学習においても、GlassFishの管理コンソールを使用したWARファイルのデプロイ操作や、Docker Composeを使った複数サービスの起動など、実践的な開発スキルに直結する知識が身につきます。特にDocker Composeは、複数のJakarta EEアプリケーションやデータベースと連携する大規模環境でも有効で、学んでおくと今後の開発効率が大きく向上します。 Jakarta EEを使い始めたばかりの方にとって、Dockerは非常に敷居の低いツールでありながら、実務レベルの開発環境にも通用する強力な手段です。ここで紹介した基本的な操作に慣れていけば、GlassFishに限らず、PayaraやWildFlyといった他のJakarta EE対応サーバーも同様の手順で扱えるようになります。さらに、ホスト側のソースコードとコンテナをマウントしてホットデプロイを行う設定や、データベースを含めた複合構成など、より高度な開発スタイルにも挑戦できます。 以下では、Dockerfileを使ってJakarta EEアプリケーションを自動デプロイする簡単なサンプルを紹介します。これを応用すれば、自分だけのJakarta EE環境を構築し、学習・開発をスムーズに進めることができます。
サンプルコード:Jakarta EEアプリを自動デプロイするDockerfile
FROM glassfish:latest
COPY myapp.war /opt/payara/deployments/
EXPOSE 8080 4848
CMD ["asadmin", "start-domain", "-v"]
このDockerfileでは、GlassFishイメージをベースにWARファイルをコピーし、コンテナ起動時にアプリケーションが自動デプロイされる仕組みを作っています。Dockerfileを利用することで、環境構築だけでなくデプロイ作業も自動化できるため、Jakarta EEの学習効率と開発スピードが大幅に向上します。さらに、Docker Composeと併用することで、GlassFishとデータベースを同時に起動するマルチコンテナ構成も簡単に扱えるようになり、より実践的なアプリケーション開発に役立ちます。 開発者は環境構築の手間から解放され、アプリケーションのコードに集中できるようになるため、DockerはJakarta EE学習における非常に強力な味方と言えるでしょう。これからJakarta EEを本格的に学びたい方にとって、Dockerを使いこなすことは大きな武器となります。
生徒
「DockerでJakarta EEの環境がこんなに簡単に作れるとは知りませんでした!毎回GlassFishをインストールするよりずっと楽ですね。」
先生
「そうなんだよ。Dockerを使えば、必要な環境をすぐに作れて、壊してしまってもすぐ復元できるから、学習にも最適なんだ。」
生徒
「Docker Composeで複数のサービスを一括管理できるのも便利ですね。データベースと一緒に動かせるのはありがたいです。」
先生
「そのとおり。Jakarta EEの実践的な開発ではサーバーとDBを同時に動かすことが多いから、Composeを覚えると一気に効率が上がるよ。」
生徒
「Dockerfileで自動デプロイできるのもすごいです。自動化できると開発が本当に楽になりますね!」
先生
「その気づきは大事だよ。これからアプリ開発を進める中で、Dockerを活用した自動化は必ず役立つから、ぜひ実践していこう。」