Dockerイメージを作成してTomcatへアプリをデプロイする

docker docker
スポンサーリンク

こんにちは、素人エンジニアです。

この記事では、DockerでTomcatを立ち上げてアプリをデプロイする方法を紹介します。

Dockerfileで作成したイメージをdocker runすることで、アプリをTomcatにデプロイします。

DockerでTomcatへアプリをデプロイする方法

1. warファイルを準備

今回は、Tomcat9.0のサンプルアプリを使用していきます。
ご自身のwarファイルがある場合はそちらを使用してください。

Tomcat9.0のApplication Developer’s GuideのページにあるExample Applicationのリンク先からsampleのwarファイルがダウンロードできます。

hereをクリックすると、sample.warという名称のファイルがダウンロードされます。
このファイルをこれから作業するディレクトリに配置してください。

2. Dockerfileを作成する

sample.warを配置したディレクトリと同じ階層に、Dockerfileを作成します。
手段はなんでも良いので、「Dockerfile」という名称のファイルを作成してください。

Dockerfileには次の二行を記載します。

FROM tomcat:9.0.46

COPY sample.war $CATALINA_HOME/webapps/

FROMコマンド
FROM <image>[:<tag>]

FROMコマンドで、ベースとなるDocker imageを設定します。
今回は、Tomcatのver9.0.46を使用しています。

COPYコマンド
COPY <src>... <dest>

COPYコマンドで、ローカルからコンテナ上のディレクトリへファイルをコピーできます。

ここで使用している$CAYALINA_HOMEはTomcatの環境変数です。
Tomcatの環境変数はデフォルトで次のようになっています。

CATALINA_BASE:   /usr/local/tomcat
CATALINA_HOME:   /usr/local/tomcat
CATALINA_TMPDIR: /usr/local/tomcat/temp
JRE_HOME:        /usr
CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

/usr/local/tomcat/webapps/にwarファイルをコピーすることで、Tomcatにwarファイルをデプロイをしています。

3. コンテナを起動してアプリを立ち上げる

Dockerfileを作成したら、まずはイメージを作成します。

docker build -t myapp .

buildコマンドを実行すると、Dockerfileからイメージを作成できます。
-tオプションで名前:タグを指定できます。”.”はDockerfileのあるパスを指定します。

docker imagesで、イメージが作成できているか確認しましょう。

% docker images
REPOSITORY               TAG       IMAGE ID       CREATED         SIZE
myapp                    1.0       ce287e0f52cd   6 minutes ago   658MB

コンテナの作成&起動はdocker runで行います。

docker run --name myapp -p 8080:8080 -d myapp:1.0

–nameでコンテナ名、-pでポートを指定します。-dを指定するとバックグラウンドで実行されるようになります。

http://localhost:8080/sample/にアクセスして、sampleのページが表示されれば成功です。

4. Dockerに立ち上げたアプリを終了する

アプリを終了するときには、コンテナとイメージも削除してしまいましょう。

コンテナ停止

docker stop myapp

コンテナ削除

docker rm myapp

イメージ削除

docker rmi myapp:1.0

以上!

このブログでは、【ConoHa WING】を使っています

このブログでは、【ConoHa WING】を使っています
わたし、稼げました。

このブログでは、プログラミングでの学びをノート代わりとして記事としています。
少しずつPVが増えてきて、先日Google AdSenseの収益が振り込まれました!

どれくらいの記事数、期間、PVがあれば振込ボーターの8千円に到達するのか?
私のリアルな数字を紹介します。

ブログ村を利用しています
素人エンジニアの苦悩 - にほんブログ村
PVアクセスランキング にほんブログ村
docker
スポンサーリンク
スポンサーリンク
シェアする
amateur_engineerをフォローする
素人エンジニアの苦悩

コメント

タイトルとURLをコピーしました