Container Stationコマンド

Container Stationをインストールするとbinディレクトリにdockerやdocker-composeを含む様々なツールがインストールされるが、その中でキモになると思われるコマンドが、qbusである。

Container StationのWebUI機能をCLIからでも利用できるようにするためにのインターフェース(API)へのアクセスをqbusから行うからである。

https://qnap-dev.github.io/container-station-api/index.html

Container Stationのインターフェース(API)の仕様については、上記ページにまとめられているので、基本的にはこちらを参照して実装していく事になるのだが、問題は記載されているサンプルが全てcurlで書かれており、しかも、認証(セッション)情報をCookieに保存して利用するWebUI専用になっており、QNAPのCLI環境(ssh)からは使えない…

そこで活躍するのがqbusコマンドである。例えば、Inspect a containerの

curl -sq -XGET -b cookies.txt http://${QIP}:${QPORT}/containerstation/api/v1/container/docker/<container_id>/inspect

という処理が、qbusだと

qbus get com.qnap.container/api/v1/container/docker/<container_id>/inspect

というコマンドで実行できるのだ!!

qbusについてはネット上で情報を探しているのだが、詳しい情報・説明は未だ見つかっていない。とりあえず、Container Stationの最低限の機能(コンテナ一覧の取得、コンテナの作成、削除、開始、停止、コンテナ情報の取得など)が問題なく使える事は確認できた。

当然、Container SationのWebUIに存在しない機能、例えば、Dockerfileのビルドなどはqbusで実行する事はできないので、これらの機能を使い方い場合には相変わらずdockerコマンドを利用する事になる。

まだ未調査のdocker-composeに相当する機能がqbusだとどうなるのか、qbusにビルド機能はないと思われるので、おそらくビルドしない形のyamlにのみ対応しているのだろうとは思うが…

Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です