Veletaで生成したAPIのDockerコンテナを利用する方法について説明します。
VeletaでAPIの生成が完了するとDockerコンテナのzipファイルをダウンロードすることができます。
$ ls
sampleapi.tar.zip // ダウンロードしたzipファイル
まずはダウンロードしたzipファイルを解凍してtarファイルを取り出します。
$ unzip sampleapi.tar.zip
$ ls
sampleapi.tar // 解凍後のtarファイル
次にtarファイルをdocker load
コマンドで読み込みます。
$ docker load < sampleapi.tar
$ docker image ls
REPOSITORY TAG ...
sampleapi latest ... // 読み込んだDockerイメージ
最後に読み込んだDockerイメージをコンテナとして立ち上げます。以下はコンテナを立ち上げるコマンドの例です。コマンドの詳細な解説はリファレンスを参照ください。
# PostgreSQLと通信するWebAPIを立ち上げるコマンド例
$ docker container run \
-p 3000:3000 \
-e DSN='user=user password=password host=host.example.com dbname=sample' \
-e PORT=3000 \
sampleapi
コンテナ起動時に指定できる環境変数は以下のとおりです。
環境変数
DSN
必須項目。データベースと接続するためのData Source Nameを指定します。データベースの種類に合わせてDSNを指定してください。
# PostgreSQL
DSN='user= password= host= dbname='
# MySQL
DSN='USER:PASSWORD@(HOST)/DBNAME?parseTime=true&loc=Asia%2FTokyo'
# MariaDB
DSN='USER:PASSWORD@(HOST)/DBNAME?parseTime=true&loc=Asia%2FTokyo'
# OracleDB
DSN='oracle://USER:PASSWORD@HOST:PORT/SERVICENAME'
# SQLServer
DSN='sqlserver://USER:PASSWORD@HOST:PORT?database=DBNAME
PORT
任意項目。APIサーバーのポート番号です。指定しない場合、デフォルトは3000番ポートでAPIサーバーが起動します。
APIサーバーの活用方法については以下の記事を参考ください。