イメージCLI
イメージは自分の起動の仕方をすでに知っています。docker run にコマンドを書き足す必要はなく、デフォルトではサーバーが立ち上がります。引数が置き換えるのはコマンドだけなので、単発の操作も自然に読めます — docker run … IMAGE restore のように。
稼働中のコンテナへは、オペレーター向けのコマンドを docker exec 経由で、短い名前のまま渡します。
docker exec notarium backup
docker exec -it notarium admin list
コマンド
| コマンド | 役割 | よくある呼び出し方 |
|---|---|---|
start | HTTP/MCP サーバーを PID 1 として起動する | イメージのデフォルトコマンド |
backup | 検証済みのオンライン ZIP をストリームで出力する | docker exec notarium backup と ランブック の安全な公開手順 |
backup verify | 何も変更せずにアーカイブを検証する | docker exec -i notarium backup verify < ファイル |
restore | 空のデータルートへアーカイブを設置する | まっさらなボリューム上の使い捨てコンテナ |
admin | インターフェースを介さずにアクセスを復旧する | docker exec -it notarium admin … |
healthcheck | ローカルの /api/health に問い合わせる | Docker の HEALTHCHECK |
version | バージョン、コミット、ビルド時刻、ソースへのリンク(スクリプト向けに --json) | サポートと互換性の確認 |
help / --help | CLI 全体または個別コマンドの説明 | どのコンテナでも |
start はフォアグラウンドに留まるので、コンテナのシグナルはそのままサーバーへ届きます — docker stop は正常に停止させます。停止や再起動のコマンドが無いのは意図的で、それはオーケストレーターの仕事です。スキーママイグレーションは起動時に適用されるため、別コマンドとして実行する必要はありません。
ストリームと終了コード
- ストリーミングモード(
--outputなし)のbackupは、stdout に ZIP のバイト列だけ を流します。診断メッセージと最後のサマリーは stderr へ出ます。--output FILEを付けるとアーカイブはそのファイルへ書き出され、stdout には JSON のサマリーが 1 つだけ出ます — これを.zipへリダイレクトしないでください。そこに残るのはアーカイブではありません。 backup verify、restore、そして非対話のadminコマンドは、結果を stdout に出力します。- エラーは stderr に出て、終了コードは非ゼロになります。未知のコマンド、未知のオプション、重複したオプション、値のないオプションは、黙って無視されるのではなく エラーで落ちます。
- Docker における本来の転送経路は stdin と stdout です。対になる
backupの--output FILEとverify/restoreの--input FILEは、コンテナからすでにディレクトリが見えている構成のためにあります。--outputにはうれしい副産物があります。コマンド自身が一時ファイルへ書き、アーカイブを検証し、何も上書きせずアトミックに公開してくれるので、シェルのラッパーを書かずに済みます。 - どのコマンドにも
--helpがあります。notarium --versionはnotarium versionと同じです。
ビルド識別情報
version は、いま動いているものが何かをそのまま出力します。互換性をめぐる話も、アップグレードも、出発点はここです。
docker run --rm docouno/notarium:latest version
docker compose exec notarium version --json
version --json は同じ内容を 1 つのオブジェクトで返します — version、commit、builtAt、そして source(該当するソースリビジョンへのリンク)。だから「いま何がデプロイされているか」の確認は、そのままデプロイパイプラインに組み込めます。そのビルドが正直に持っていないものは null として返ります。値をでっち上げることはないので、そのまま拠り所にできます。同じ情報はインターフェースでも見られます — Settings → About です。
公開されたバージョンタグは、常に 1 つの特定のイメージを指します。:0.1.0 が別のビルドへ移ることはありません。本番では :latest ではなくバージョンで固定してください。公開イメージは linux/amd64 向けにビルドされています。他のアーキテクチャではソースからビルドしてください。
ヘルスチェック
healthcheck が終了コード 0 を返すのは、ローカルの /api/health エンドポイントが「健全」と答えたときだけです。Docker の HEALTHCHECK ディレクティブとオーケストレーターのプローブのために作られており、外部依存もホスト側の curl も必要ありません。
アクセスの復旧
admin はホストのオペレーター境界です。パスワード変更の通常の経路はアプリの中にそろっています(自分のパスワードはインターフェースで、他人のパスワードは管理者が渡すワンタイムリンクで)。CLI が担うのは別のことです。現在のパスワードを提示せずに 強制的に パスワードを設定すること、そしてアプリの外側から管理者を発行すること。この 2 つの操作に HTTP 経路が無いのは意図的です — 提示すべきものが何も無いからで、だからこそホストにアクセスできる人の手だけに残されています。
docker compose exec notarium admin list
docker compose exec notarium admin create-admin <user> --random
コマンドの完全な一覧とそれぞれの意味は 認証 にあります。
次へ
- バックアップとリストア —
backup、backup verify、restoreの背後にあるランブック。 - 認証 —
adminにできることと、それが必要になる場面。 - インストール — イメージの起動とデータボリューム。