🎆

初心者向け~Javaのwarファイルをdockerで動かす~

2022/08/02に公開

この記事の目的

web projectをwarでexportして、dockerで動かしてみる。

warファイルとはJavaなどで書かれたWebプロジェクトをパッケージしたファイルのこと。
.war形式のファイル。

手順

  1. warファイルを作成
  2. Dockerファイルの作成
  3. Dockerイメージの作成
  4. コンテナ起動

具体的な作業

それぞれを説明していく。

1.warファイルを作成する

EqlipseなどでWebプロジェクトを作成して、exportするだけ。
「warファイル export」などで検索すれば簡単にヒットする。

2.Dockerファイルの作成

最もシンプルな形でDockerファイルを作成する。

FROM tomcat:8.5-jdk15-openjdk-slim 
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
WORKDIR ${CATALINA_HOME}
COPY test.war webapps/test.war

tomcatのバージョンは適宜変更しよう。今回は8.5系を利用。

3.Dockerイメージの作成

Dockerファイルからイメージを作成する。

docker build . -t test:0.1

イメージが作成されたか確認する。

$ docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
test         0.1       0b86a494456d   3 weeks ago     440MB

REPOSITORYとTAGがあっていればOK。

4.コンテナ起動

コンテナを起動する。

docker container run --name sample-container -d -p 80:8080 test:0.1

起動したか確認する。
-dを付けないとDockerにターミナルを奪われるので、付けておくのがオススメ。

$ docker container ls
CONTAINER ID   IMAGE      COMMAND             CREATED          STATUS          PORTS                  NAMES
29076b2054a8   test:0.1   "catalina.sh run"   13 seconds ago   Up 10 seconds   0.0.0.0:80->8080/tcp   sample-container

IMAGEとNAMESがあっていればOK。

まとめ

warファイルをdocker上で動かしてみた。
イメージ作成→コンテナ起動まで簡単なので是非やってみてほしい。

Discussion