---
title: Payara MicroのDockerイメージを試す
tags: ["Docker", "Payara", "Payara Micro"]
categories: ["Middleware", "AppServer", "Payara"]
date: 2015-05-25T13:56:18Z
updated: 2015-05-25T13:56:18Z
---

GlassFishのforkプロジェクトである[Payara](http://www.payara.co.uk/home)の[Dockerイメージ](https://hub.docker.com/u/payaradocker/)がDocker Hubに上がっていたので使ってみました。Dockerと相性の良さそうなPayara Microを試してみます。

[Dockerfile](https://github.com/payara/docker/blob/master/payara-micro/Dockerfile)を見ると、
Payara MicroのjarとデモアプリとしてPrimeFacesのショーケースのwarをダウンロードとして、後はよろしくって感じですね。まずはデモ用途という感じに見えます。

とりあえず、試してみましょう。なぜかlatestがないので、タグを指定します。
`Dockerfile`に`CMD`も`ENTRYPOINT`も書いてないので、`-it`をつけて`/bin/bash`を実行し、中に入ってみます。

```
$ docker run --rm -it -p 8080:8080 payaradocker/payara-micro:4.1.152.1.micro.oraclejdk8 /bin/bash
payara@5874b64d962d:/opt$
```
中に入りました。

```
payara@5874b64d962d:/opt$ ls
payara  payara-micro-4.1.152.1.jar  showcase-5.2.war
```

作業ディレクトリにはpayaraのjarとデモのwarがあります。

```
payara@5874b64d962d:/opt$ java -jar payara-micro-4.1.152.1.jar --deploy showcase-5.2.war
```

でPayaraが起動しました。`http://[Docker Host]:8080/showcase-5.2`にアクセスするとPrimeFacesのショーケースにアクセスできます。

通常、Dockerコンテナ内で作業はしないので、ワンライナーで実行するなら、

``` bash
$ docker run --rm -it -p 8080:8080 payaradocker/payara-micro:4.1.152.1.micro.oraclejdk8 java -jar payara-micro-4.1.152.1.jar --deploy showcase-5.2.war
```

ですね。バックグラウンドで実行するなら、

``` bash
$ docker run -d -p 8080:8080 payaradocker/payara-micro:4.1.152.1.micro.oraclejdk8 java -jar payara-micro-4.1.152.1.jar --deploy showcase-5.2.war
```

で。

この例だけだと、showcase-5.2.warしか試せない！ので、ローカルに実行させたいwarを置いて、ローカルディレクトリをDockerコンテナのマウントさせてみます。

例として、showcase-5.0.warをローカルをダウンロードして、これをDocker上のPayara Microで実行してみます。

``` bash
$ cd ~/docker
$ wget http://repository.primefaces.org/org/primefaces/showcase/5.0/showcase-5.0.war
$ docker run --rm -it -p 8080:8080 -v ~/docker/:/tmp payaradocker/payara-micro:4.1.152.1.micro.oraclejdk8 java -jar payara-micro-4.1.152.1.jar --deploy /tmp/showcase-5.0.war
```

できた。`http://[Docker Host]:8080/showcase-5.0`にアクセスできます。

`-v`がポイントです。
これで、Dockerで簡単にwarを実行できますね。

----


ポータビリティーの観点でPayara(というかJava EEサーバー)がどうあるべきは検討の余地がありますが、
PayaraのこのDockerイメージはParayaをちょっと試したいときに便利。

[Hazelcast](http://d.hatena.ne.jp/Kazuhira/20150523/1432366272)のクラスタも試してみたい。
