LoginSignup
0
1

More than 5 years have passed since last update.

Payara Micro向けにDockerfileを作って起動する方法

Last updated at Posted at 2017-01-04

PayaraをDockerで動かす」で紹介されているやり方でも起動できますが、Dockerイメージの中にアプリも入れてしまいたい!なるべくGlassFishと同じ感じで起動できるようにしたい!という場合に。

参考:
ADAM BIEN'S WEBLOG - PAYARA MICRO AND DOCKER
http://www.adam-bien.com/roller/abien/entry/payara_micro_and_docker

リンク先のビデオでは、Payaraの公式イメージを使わずに作成する方法が解説されています。Payaraの公式イメージには、ビデオで解説されている内容の内の半分ぐらいが実装されています。

以下、ローカルホスト (boot2dockerやDockerMachine) の/path/to/war/にあるWAR_TO_DEPLOY.warをデプロイしてpayaraを起動する場合を例にとり、説明します。

Dockerfileの記述

Dockerfile
FROM payara/micro

ADD "/path/to/war/WAR_TO_DEPLOY.war" "/tmp/"
ENTRYPOINT java -jar ${PKG_FILE_NAME} --deploy "/tmp/WAR_TO_DEPLOY.war"

warファイルをDockerコンテナの/tmpに格納し、そこからデプロイして実行するようにしています。/tmpでなくても構いません。変数等は、ここに書かれている通りに記述すれば良いです。

ビルド・Webサーバの起動

$ docker build -t イメージ名 .
$ docker run --name コンテナ名 -p 8080:8080 -p 4848:4848 -p 8009:8009 -p 8181:8181 -d イメージ名

payara/microでEXPOSEされている全てのポートをフォワードする場合の記述です。実際には、自分が使う予定のあるポートだけ指定すれば十分です。

Webアプリにアクセス

http://localhost:8080/WAR_TO_DEPLOY にアクセスします。

(localhostの部分は、適宜boot2dockerやDockerMachineのアドレスに読み替えてください)

Payara Microドメインに設定を追加(オプション)

コネクションプールを作っておきたい場合など、ドメインに設定を追加する必要がある場合は、次の手順も必要です。

参考:
How do I add JDBC drivers and configure JDBC Resources in Payara Micro?
http://stackoverflow.com/questions/32899120/how-do-i-add-jdbc-drivers-and-configure-jdbc-resources-in-payara-micro

microdomain.xmlの取得と編集

Payaraのリポジトリにあるmicrodomain.xmlをダウンロードします。Payara Micro向けのdomain.xmlのようなものです。domain.xmlを編集するような感じでmicrodomain.xmlを編集して、保存します。

PayaraやGlassFishの管理コンソールで一通り設定を作ってから、domain.xmlを開いて差分を見ると、追加すべき内容と場所が簡単に確認できます。

Dockerfileの修正

payara起動時に--domainConfigオプションでmicrodomain.xmlを参照させるようにします。

Dockerfile
FROM payara/micro

ADD "/path/to/war/WAR_TO_DEPLOY.war" "/tmp/"
ADD "/path/to/resource/microdomain.xml" "/etc/opt/"
ENTRYPOINT java -jar ${PKG_FILE_NAME} --deploy "/tmp/WAR_TO_DEPLOY.war" --domainConfig "/etc/opt/microdomain.xml"

稼働中に、Exception while persisting domain.xml, changes will not be available on server restart.というメッセージが出てくることがありますが、特に心配することはありません。Payara「Micro」を再起動するというシチュエーションは、ほぼ無いはずですので…

0
1
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
0
1