Docker
camunda

Camundaの開発/デモ環境をDocker for Macで構築する

More than 1 year has passed since last update.

※ 2016/08/04: Docker for Mac の正式版リリースを受けて全面的に書き直しました。

Camunda BPMとは、ベルリンを本拠地とするBPM(Business Process Management)専門のソフトウェアコンサルタント会社であるCamundaが開発している、ディベロッパーフレンドリーなオープンソースのBPMツールです。

Docker for Mac で開発/デモ環境を構築する手順をメモっておきます。


前提とする環境


  • MacOS X El Capitan 10.11.6

  • Docker 1.12.0 (Docker for Mac)


動作確認用URL

http://localhost:8080/camunda-welcome/index.html


環境構築手順


H2 Database を使う場合

下記のコマンド一発です。

$ docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:7.5.0


MySQL を使う場合


1. MySQLコンテナを立ち上げる

$ docker run --name mysql -d -p 3306:3306 \

-e MYSQL_ROOT_PASSWORD=my-super-secret-pw \
-e MYSQL_DATABASE=process-engine \
-e MYSQL_USER=camunda \
-e MYSQL_PASSWORD=camunda \
mysql:5.7


2. Camundaコンテナを立ち上げる

--link mysqlとすると、jdbc driverのURLとしてmysqlを使えます。

$ docker run --name camunda -d -p 8080:8080 --link mysql \

-e DB_DRIVER=com.mysql.jdbc.Driver \
-e DB_URL=jdbc:mysql://mysql/process-engine \
-e DB_USERNAME=camunda \
-e DB_PASSWORD=camunda \
camunda/camunda-bpm-platform:7.5.0


MariaDBを使う場合

H2DB, MySQL, PostgreSQLのドライバはcamunda-bpm-platformに含まれているのだが、他のDBを使いたい場合は、ドライバを自分でコピーする必要がある。


1. h2 database で camundaコンテナを立ち上げる。

$ docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:7.5.0


2. MariaDB用のJDBCドライバをダウンロードして、適当なところ(ここでは~/tmp/とする)に置く。

$ ls -l ~/tmp/mariadb-java-client-1.4.6.jar 

-rw-r--r--@ 1 inaba staff 371715 8 2 15:13 /Users/inaba/tmp/mariadb-java-client-1.4.6.jar


3. camundaコンテナにMariaDB用のJDBCドライバをコピーする

$ CONTAINER_ID=$(docker ps -f name=camunda -q)

$ docker cp ~/tmp/mariadb-java-client-1.4.6.jar ${CONTAINER_ID}:/camunda/lib/


4. camundaコンテナを別名(ここではcamunda75_mariadbとする)でコミットして、MariaDB用のJDBCドライバを含むcamundaイメージを作成する

$ docker commit camunda camunda75_mariadb

# イメージが新規作成されていることを確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
camunda75_mariadb latest 4385066ec462 10 seconds ago 594.7 MB
camunda/camunda-bpm-platform 7.5.0 33c72b62b9a3 6 weeks ago 592.1 MB

ここではスルーさせてもらいますが、下記に注意。(サーバ/インフラエンジニア養成読本 DevOps編


commitを利用してイメージを作成する方法はDockerfileにない操作結果がイメージに反映されるため、利用者が挙動や構築方法を把握・再現できません。地雷のようにあとから事故を引き起こす元凶となるので、基本的に利用しないようにしましょう。



5. camundaコンテナを停止する

$ docker stop camunda


6. MariaDBコンテナを立ち上げる

$ docker run --name mariadb -d -p 3306:3306 \

-e MYSQL_ROOT_PASSWORD=my-super-secret-pw \
-e MYSQL_DATABASE=process-engine \
-e MYSQL_USER=camunda \
-e MYSQL_PASSWORD=camunda \
mariadb:10.1


7. MariaDB用のJDBCドライバを含むcamundaコンテナ(camunda75_mariadb)を立ち上げる

$ docker run --name camunda75_mariadb -d -p 8080:8080 --link mariadb \

-e DB_DRIVER=org.mariadb.jdbc.Driver \
-e DB_URL=jdbc:mariadb://mariadb/process-engine?autoReconnect=true \
-e DB_USERNAME=camunda \
-e DB_PASSWORD=camunda \
camunda75_mariadb