HandywedgeをDockerで利用するためにDockerコンテナのイメージを提供しています。
Dockerコンテナは2種類提供しており、Dockerコンテナのみで稼働させることのできるデータベースまでを含んだコンテナと、データベースは別の環境にありアプリケーションのみDockerコンテナで稼働させるためのデータベースを含まないイメージとなります。
また、データベースを含まないイメージを利用してAmazon ECSにて稼働させることもできます。
Handywedgeではアプリケーションコンテナとの連携はもちろん、単体でも利用可能なREST APIによるマイクロサービスのコンテナを提供しています。
提供しているマイクロサービスについては開発ガイドのアプリケーション共通サービスを参照してください。
Handywedgeのイメージファイルをインポートします。
サンプルアプリケーションはポート8080で開きます。
以下、handywedgeはリポジトリ名、masterはタグ名です。
docker import -c "CMD /usr/sbin/init" -c "ENV LANG=ja_JP.UTF-8" https://docker.handywedge.com/images/handywedge.tgz handywedge:master
オプション | 説明 |
---|---|
-c |
Dockerfileの命令を設定 |
handywedge:master |
リポジトリ名:タグ |
https://docker.handywedge.com/images/archive/0.5.0/handywedge.tgz
handywedge:0.5.0
のようにすると良いでしょう。docker runコマンドで、インポートしたイメージを元にDockerコンテナを起動します。
docker run --privileged -d -i -p 8080:8080 --name handywedge handywedge:master
オプション | 説明 |
---|---|
--privileged |
特権モードで起動する |
-d |
コンテナをバックグラウンドで起動する |
-i |
ホストの入力をコンテナの標準出力とつなげる |
-p |
ホストとコンテナのポートフォワードを指定する |
--name |
コンテナに名前を付ける |
handywedge-test-app/password
でログインできます。docker execでDockerコンテナに追加のプロセスを実行します。下記のコマンドでコンテナのbashを起動します。
docker exec -it handywedge /bin/bash
オプション | 説明 |
---|---|
-i |
ホストの入力をコンテナの標準出力とつなげる |
-t |
疑似ターミナルの割り当て |
Dockerfleはここからダウンロードできます。
Dockerfileのあるディレクトリで作業してください。またはDockerfileのパスを記述してください。
docker build --rm -t handywedge:master ./
オプション | 説明 |
---|---|
--rm |
ビルド成功後中間コンテナを削除 |
-t |
タグの指定 |
Handywedgeのイメージファイルおよびデータベースのイメージファイルをインポートします。
サンプルアプリケーションはポート8080で開きます。
以下、handywedge/without_dbはリポジトリ名、masterはタグ名です。
docker import -c "CMD /usr/sbin/init" -c "ENV LANG=ja_JP.UTF-8" https://docker.handywedge.com/images/without_db/handywedge.tgz handywedge/without_db:master
curl https://docker.handywedge.com/images/without_db/handywedge-postgres.tgz | docker load
オプション | 説明 |
---|---|
-c |
Dockerfileの命令を設定 |
handywedge/without_db:master |
リポジトリ名:タグ |
docker load < handywedge-postgres.tgz
/opt/tomcat/conf/Catalina/localhost/handywedge-test-app.xml
docker networkコマンドで明示的にHandywedge用のdockerネットワークを作成し、本体コンテナとデータベースコンテナの通信がしやすいように設定します。
docker network create --subnet 172.20.0.0/16 handywedge-network
オプション | 説明 |
---|---|
create |
docker networkのサブコマンド。ネットワークを作成 |
--subnet |
CIDR記法でネットワークセグメント |
handywedge-network |
ネットワーク名 |
docker runコマンドで、インポートしたイメージを元にDockerコンテナを起動します。
docker run --net handywedge-network --ip 172.20.0.2 -d -i --name handywedge-postgres handywedge/without_db:postgres
docker run --net handywedge-network --ip 172.20.1.2 --privileged -d -i -p 8080:8080 --name handywedge handywedge/without_db:master
オプション | 説明 |
---|---|
--net |
指定したネットワークに接続 |
--ip |
IPアドレスを指定 |
--privileged |
特権モードで起動する |
-d |
コンテナをバックグラウンドで起動する |
-i |
ホストの入力をコンテナの標準出力とつなげる |
-p |
ホストとコンテナのポートフォワードを指定する |
--name |
コンテナに名前を付ける |
handywedge-test-app/password
でログインできます。docker execでDockerコンテナに追加のプロセスを実行します。下記のコマンドでコンテナのbashを起動します。
docker exec -it handywedge /bin/bash
オプション | 説明 |
---|---|
-i |
ホストの入力をコンテナの標準出力とつなげる |
-t |
疑似ターミナルの割り当て |
Dockerfleはここからダウンロードできます。
データベースのDockerfleはここからダウンロードできます。
Dockerfileのあるディレクトリで作業してください。またはDockerfileのパスを記述してください。
docker build --rm -t handywedge/witout_db:master ./
docker build --rm -t handywedge/witout_db:postgres ./
オプション | 説明 |
---|---|
--rm |
ビルド成功後中間コンテナを削除 |
-t |
タグの指定 |
HandywedgeのイメージをAmazon ECSで利用するための手順を簡単にご紹介します。
Amazon ECSの詳細およびAWSを利用する環境がない場合はAWS開発者ガイドを参照してください。
Amazon ECRにイメージを登録するためにHandywedgeのイメージファイルをインポートします。
docker import -c "CMD /usr/sbin/init" -c "ENV LANG=ja_JP.UTF-8" https://docker.handywedge.com/images/without_db/handywedge.tgz handywedge/without_db:master
docker runコマンドで、インポートしたイメージを元にDockerコンテナを起動します。起動後、docker execでコンテナのbashを起動しデータベースの接続設定を行います。
docker run --privileged -d -i --name handywedge handywedge/without_db:master
docker exec -it handywedge /bin/bash
/opt/tomcat/conf/Catalina/localhost/handywedge-test-app.xml
docker stopコマンドでコンテナを停止し、接続情報を書き換えた状態のコンテナをdocker commitコマンドでイメージを作成します。
docker stop handywedge
docker commit handywedge handywedge/without_db:ecs
イメージの準備ができたらこれ以降の詳細についてはAWS開発者ガイドを参照してください。
ここでは簡単な流れを説明します。
HandywedgeのAmazon S3バイナリーストアのイメージの使い方を説明します。詳細については開発ガイドのアプリケーション共通サービスを参照してください。
Amazon S3バイナリーストアを利用するためには接続するための認証情報が必要になります。
HandywedgeのAmazon S3バイナリーストアイメージファイルをインポートします。
curl https://docker.handywedge.com/images/binarystore/aws/handywedge-binarystore-aws.tgz | docker load
docker runコマンドで、インポートしたイメージを元にDockerコンテナを起動します。
docker run -d -i -p 8082:8080 -e LOG_LEVEL=info -e AWS_ACCESS_KEY_ID=XXXXX -e AWS_SECRET_KEY=XXXXX --name handywedge-binarystore handywedge/binarystore/aws:master
オプション | 説明 |
---|---|
-p |
サービスは8080ポートで待ち受けしているので環境に合わせてフォワード設定をする |
-e LOG_LEVEL |
ログレベルの設定。省略時はinfoとなる。設定できる値は[fatal, error, warn, info, debug, trace] |
-e AWS_ACCESS_KEY_ID, -e AWS_SECRET_KEY |
Amazon S3に接続するための認証情報を設定する |
--name |
コンテナに名前を付ける |