DockerでMaven&Tomcat環境構築
環境
- OS : Raspberry Pi OS (32bit)
Mavenとは
Mavenには、プログラムの開発に必要な機能が一通り備わっている。
Mavenで利用できる主な機能と特徴は次の通りである
ビルドと自動化
Mavenを利用すると、ソースコードのコンパイルやテストの実行、プログラムのパッケージ化といったビルド作業を自動化できる。
プロジェクトの構造などをPOMファイルに記述し、簡単なコマンドでビルドを実行できることがMavenの特徴である。
ライブラリの管理・インストール
Mavenには、数多くのオープンソースのライブラリが保存されているセントラルリポジトリという仕組みがある。これを利用することで、簡単にライブラリを管理・使用できるようになる。
Mavenには、依存関係にあるライブラリを管理して自動でインストールする機能があり、開発を簡単に進められます。また、ライブラリのバージョンも適切に選択されるため、効率的な開発が可能である。
プロジェクトの構造を統一
Mavenのプロジェクトでは、標準のディレクトリ構造やファイル配置が決まっている。
そのため、多くの開発者が携わる場合でも、プロジェクトの構造が統一しやすく簡単に理解できる。
Tomcatとは
Tomcatは Java Servletを動かすために必要なソフトである
Mavenを使用してアプリケーションファイルをビルドした後のJava ServletをWebに表示することが可能である。
docker-composeファイル
services:
maven:
image: maven:3.9-eclipse-temurin-17
container_name: maven
volumes:
- ./アプリケーションディレクトリ:/usr/src/app
working_dir: /usr/src/app
command: mvn clean package
tomcat:
image: tomcat:10.1-jdk17
container_name: tomcat
ports:
- "8080:8080"
volumes:
- ./アプリケーションディレクトリ/target/ROOT.war:/usr/local/tomcat/webapps/ROOT.war
実行
まずMavenを使用したファイルのビルドを行う。
この時、 -dオプション を付与せずに実行することでビルド終了を視覚的に判断できる。
docker compose up maven
ビルドの完了を確認できたのであれば次に下記のコマンドを実行する。
docker compose up -d tomcat
その後、Tomcatによるアプリ起動を確認するため、下記のコマンドを実行する。
docker ps
上記のコマンド実行後、Tomcatのコンテナ情報が出力されていれば、成功。
もし出力されていなかった場合は下記を実行する。
docker logs tomcat
アプリケーションの確認
起動したアプリケーションの確認を行う際は
localhost:8080
にアクセスして表示されれば成功である。