8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerを使って簡単にローカルtomcat環境を作る

Posted at

はじめに

対象者

  • eclipseを使ったJavaの開発はしたことはある
  • あまりサーバーサイド知らない
  • Docker使ったことない or なんとなく手順で使い方は見た。

やること

あまり手間をかけずにローカルにtomcatのサーバー環境を構築する。

tomcatをそのままローカルにインストールしてもいいのですが、
サーバーはLinux環境であることが多く、環境差異による問題も多いです。

全く同じとは言えませんが、なるべく本番に近い環境を構築したいと思います。

Dockerとは

この記事を参考にしてください。
https://qiita.com/hikaruright/items/0908df7d1101498e4a58

前提条件

Windows10 ProまたはMacを使っている

How To Setup

今回は、Dockerを使って環境を構築してみましょう。

Dockerのインストール

以下のサイトにアクセスし、Dockerをインストールします。
既にインストール済みの場合にはスキップしてください。

なお、Windowsをお使いの場合にはHyper-Vの有効化が必要ですのでご注意ください。
以下の公式ドキュメントを参考に有効化を行います。

Hyper-Vの有効化

Docker Composeによる起動

Dockerを使っていると、コンテナの管理が若干面倒です。

特に、一つのアプリケーションを作成するために複数のコンテナを起動する必要がある場合には
Docker Composeという機能を利用します。

簡単に説明すると、dockerのコンテナを起動させるための設定をひとまとめにした設定ファイルを作成します。

その設定ファイルがdocker-compose.ymlです。

今回はtomcatが起動する単一のコンテナを実行するための設定ファイルを作成します。

ファイルの作成

任意のフォルダを作成し、以下のファイルを作成します。

docker-compose.yml
version: '3'

services:
  app:
    container_name: tomcat
    image: tomcat:8.5-jdk8-adoptopenjdk-openj9
    ports:
      - 8080:8080
    volumes:
      - ./webapps:/usr/local/tomcat/webapps

これで、containerという名前のコンテナが起動されます。
それぞれの設定内容を解説していきましょう。

container_name

起動するコンテナ名です。
docker上で一意となるように指定します。

image

イメージ名を指定します。

ports

ポートフォワーディングを指定します。
この例では8080のアクセスをコンテナの8080ポートに転送しています。

例えば、ホストOSの8080が既に使用されている場合には、

- 8090:8080

とすることで、ホストOSの8090をコンテナの8080ポートに転送することができます。

volumes

ホストOSのフォルダまたはファイルをdockerコンテナのOSにマウントします。
この例の場合には、webappsフォルダをコンテナの/usr/local/tomcat/webappsにマウントしています。

Webappsフォルダの作成

作成したdocker-compose.ymlと同じフォルダに、「webapps」というフォルダを作成し、
作成したフォルダに配備したいwarファイルを置きます。

最終的に、以下のようなフォルダ構成になります。

 /tomcat
   ┣ docker-compose.yml
   ┗ /webapps
      ┗ warファイル

実行

ターミナル、またはコマンドプロンプトを開き、
docker-compose.ymlのあるフォルダに移動します。

移動したら、以下のコマンドを実行します。

$ docker-compose up -d

これで、ローカルでtomcatが実行されました。

ログの確認

tomcatの起動ログをみたい場合には、以下のコマンドを実行します。

$ docker logs tomcat

以下のコマンドを実行することで、追従したログを表示できます。

$ docker logs -f tomcat

動作確認

ブラウザを開き

http://localhost:8080/xxx (xxxはwarのファイル)

にアクセスします。

特に問題なくデプロイされていればページが表示されます。

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?