🎆
初心者向け~Javaのwarファイルをdockerで動かす~
この記事の目的
web projectをwarでexportして、dockerで動かしてみる。
warファイルとはJavaなどで書かれたWebプロジェクトをパッケージしたファイルのこと。
.war形式のファイル。
手順
- warファイルを作成
- Dockerファイルの作成
- Dockerイメージの作成
- コンテナ起動
具体的な作業
それぞれを説明していく。
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