My開発メモ

Tomcatで動くアプリを作ったので、それを Dockerイメージにしてみた

Eclipse で indean-poker というアプリを作成した。

それを indean-poker.war にエクスポートしておいた。

これを Tomcat のコンテナに乗っける。

  1. Tomcat:latest — Tomcat-9.0.50、JDK11、Ubuntu
  2. Tomcat:9.0.50-jdk11-corretto — Tomcat-9.0.50、JDK11、CentOS

ダウンロードしたイメージのサイズは (1) が 667MB、(2) が 479MB だった。

これを動かすには、以下のようにすればいいみたい。

  1. docker run –name tomcat1 -p 8080:8080 tomcat:latest
  2. 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