タグ・月別アーカイブ

DockerCompose on QNAP

ContainerStation

QNAP の ContainerStation をとても便利に使っていたのですが、Deploy のたびに設定 (UIからVolume等) をしたりとか、複数の Container が協調するのがめんどいというか、DockerCompose したいよなあ、と思って VPS を借りてみたりしましてました。

ところが、DockerCompose 対応してる、ということに、最近ようやく気が付きました(最初からあった?)。

DockerCompose == APP

QNAP 用語的には、docker-compose は APP ということみたいです。

Docker 社の作っている app plugin とは別物っぽいです。

APP は二通りの作成方法があるようです。

  • ライブラリ(初期設定なら https://github.com/qnap-dev/container-apps/tree/2.0) をつかう
    templte/*/wizard でメニュー設定と、docker-compose.yml の項目への binding が定義できるようだ。
  • 自分で設定する(作成の所のアプリケーションの作成ボタンから docker-compose.yml を編集して追加できます)
    docker-compose.yml に即値で書いていく。

自分は後者を使いました。設定項目が全て手の中にあるのでバックアップ・履歴管理も楽だし。(docker-compose.qnap.yml で commit しています、詳細な設定・秘密情報は Volume に置く方針です)

注意としては、build エントリがあると失敗するので、消しておきます。なければ image を自動的にダウンロードして実行します。

image の更新

なお、概要タブの Container/APP 一覧から、編集ボタンを押すと既存の APP の yml の編集ができ、適用 すると自動的に更新されます。

tag を :latest にした場合は 適用 を実行したところで、既存の latest を更新してくれないので、image を削除する必要があります。参照されていると削除できないので、面倒です。普通に versioning しましょう。