Skip to content

サンドボックスでシェルを開く ​

kumoba shellを使うと、docker exec -itのようにサンドボックス内で対話型のターミナルを使えます。矢印キー、タブ補完、Ctrl-C、全画面のターミナルプログラムが動作し、ターミナルの大きさはウィンドウに合わせて変わります。

始める前に、kumobaをインストールしてkumobadを起動し、起動済みのサンドボックスのIDを$idに入れておきます。

  1. シェルを開きます:

    sh
    kumoba shell "$id"

    ゲストユーザーのログインシェルが/workspaceで起動します。コマンドにはkumoba execと同じネットワーク設定とシークレットが適用されます。

  2. exitまたはCtrl-Dで終了します。kumoba shellはシェル自身の終了ステータスで終わります。

ユーザー、ディレクトリ、プログラムを指定する ​

sh
kumoba shell "$id" --user kumoba                 # イメージのkumobaユーザーでログインする
kumoba shell "$id" --cwd /tmp                    # 別のディレクトリで始める
kumoba shell "$id" --env DEBUG=1                 # 環境変数を追加する
kumoba shell "$id" -- python3                    # シェルの代わりにプログラムを実行する

スクリプトから使う ​

標準入力がターミナルでない場合、kumoba shellは入力を1行ずつ送り、入力が終わるとセッションを終了します:

sh
printf 'cd /workspace && ls\nexit\n' | kumoba shell "$id"

スクリプトでは、通常はkumoba execのほうが適しています。標準出力と標準エラー出力が分かれ、入力がエコーされません。

必要なもの ​

サンドボックスのイメージはkumoba 0.3以降のものである必要があります。古いイメージではthis sandbox's image has no shell supportと表示されます。アップグレードすると新しいイメージに入れ替わります。CLIも0.3以降が必要です。

アルファ版です。API、ファイル形式、イメージはリリース間で変わる可能性があります。Apache-2.0。