Tomcatで動くアプリを作ったので、それを Dockerイメージにしてみた
Eclipse で indean-poker というアプリを作成した。
それを indean-poker.war にエクスポートしておいた。
これを Tomcat のコンテナに乗っける。
- Tomcat:latest — Tomcat-9.0.50、JDK11、Ubuntu
- Tomcat:9.0.50-jdk11-corretto — Tomcat-9.0.50、JDK11、CentOS
ダウンロードしたイメージのサイズは (1) が 667MB、(2) が 479MB だった。
これを動かすには、以下のようにすればいいみたい。
- docker run –name tomcat1 -p 8080:8080 tomcat:latest
- docker run –name tomcat2 -p 8080:8080 tomcat:9.0.50-jdk11-corretto
Dockerfile を作成する
Dockerfile を作成して、作成したアプリをインストールして動かしてみる。
(2) の corretto のほうでやってみる。
Dockerfile
FROM tomcat:9.0.50-jdk11-corretto
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
WORKDIR $CATALINA_HOME
COPY app/indean-poker.war /usr/local/tomcat/webapps/indean-poker.war
appフォルダを作成し、その中に indean-poker.war を置いておく。
$ docker build . -t poker2
イメージが作成できたら、以下で実行。
$ docker run --name poker2 -p 8080:8080 poker2
管理を簡単にするため、docker-compose で動かす
以下のように docker-compose.yml を作成した。
docker-compose.yml
version: '3'
services:
poker2:
build:
context: .
ports:
- "8080:8080"
container_name: poker2
environment:
- "TZ=Japan"
これで、以下のようにすれば、動かせる。
$ docker-compose up -d
終了は、以下。
$ docker-compose down
Docker-Hub にアップする。
まず、Docker-Hub にログインする。
$ docker login
次に、アップ用のイメージを作成する。
$ docker build -t seiichin/poker2 .
そして、Docker-Hub にアップする。
$ docker push seiichin/poker2
これを利用するには、以下のような docker-compose.yml を書けばよい。
docker-compose.yml
version: '3'
services:
poker2:
image: seiichin/poker2
ports:
- "8080:8080"
container_name: poker2
environment:
- "TZ=Japan"
これで動くはず。
カテゴリー: Docker, Java, memo, tomcat
タグ: Docker, docker hub, tomcat, war
カウント: 189