サンドボックスでシェルを開く
kumoba shellを使うと、docker exec -itのようにサンドボックス内で対話型のターミナルを使えます。矢印キー、タブ補完、Ctrl-C、全画面のターミナルプログラムが動作し、ターミナルの大きさはウィンドウに合わせて変わります。
始める前に、kumobaをインストールしてkumobadを起動し、起動済みのサンドボックスのIDを$idに入れておきます。
シェルを開きます:
shkumoba shell "$id"ゲストユーザーのログインシェルが
/workspaceで起動します。コマンドにはkumoba execと同じネットワーク設定とシークレットが適用されます。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以降が必要です。