Dockerコンテナ
Dockerコンテナを使用してCLIを実行
イメージの取得
まずCLIイメージを取得します。
$ docker pull keeper/keeper-secrets-manager-cli:latestコンテナの実行
次にコンテナを実行します。デフォルトでは、コンテナはシェルモードでksmを実行するように設定されています。
$ docker run \
--rm \
-it \
-v $PWD:/wd --workdir /wd \
-v $HOME/.config:/etc/keeper -e KSM_INI_DIR=/etc/keeper \
keeper/keeper-secrets-manager-cli:latestdocker runコマンド。
実行が完了したときにコンテナを削除するフラグ。これにより、非アクティブなコンテナの累積を防ぐことができます。
コンテナ操作を有効化するフラグ。
カレントディレクトリをコンテナ内に/wdとしてマウントし、作業ディレクトリをコンテナ内の/wdに設定します。これにより、/wdに書き込まれた内容をすべて、コンテナ外部のカレントディレクトリに書き込むことができます。これは、ファイルをダウンロードするときに便利です。
keeper.iniファイルを格納したい (または、格納している) ディレクトリをマウントします。次に、keeper.iniファイルを読み書きする場所をCLIに指示する環境変数を渡します。
イメージの名前。
エイリアス
docker runコマンドは毎回入力するには長すぎるため、エイリアスの作成をお勧めします。
上記を実行すると、ksmのシェルが起動します。
次のエイリアスでは、runコマンドの最後にアプリケーションksmを追加します。これにより、ksmがシェルモードで起動しなくなります。
バイナリで構築
KSM CLI Dockerには、GLIBC (ほとんどのLinuxディストリビューション) とMUSL (Alpine Linux) の両方のCLIバイナリへのボリュームマウントが含まれています。ボリュームは、/cliです。このディレクトリは、docker-composeのvolumes_fromまたはコマンドラインdockerの-vを使用して、別のコンテナにマウントできます。ksmの実行ファイルは、Linuxディストリビューションが使用しているCライブラリのバージョン別のディレクトリにあります。
/cli/glibc/ksm- Ubuntu、Debian、Fedora、CentOSなどの標準GLIBCディストリビューションの場合。/cli/musl/ksm- Alpine Linuxの場合。
たとえば、以下はCLIバイナリにアクセスする方法を示す簡単なフレームワークとなります。
initサービスは、CLI dockerをロードします。コンテナが起動し、CLIのスプラッシュ画面が表示されてから終了します。コンテナが停止しても、/cliボリュームには引き続きアクセスできます。
mainサービスは、volumes_fromを使用して、CLI dockerのボリュームをディレクトリ/cliにマウントします。commandでオーバーライドして、KSM CLIのGLIBCバージョンを実行します。commandは、CLIのexec機能を使用しています。これにより、Keeper表記法を使用する環境変数がシークレット値に置き換えられます。CLIのexecコマンドは、printenvアプリケーションを実行しています。これにより、Keeper表記法に設定され、execコマンドによって値がシークレットに置き換えられた環境変数MY_LOGINが表示されます。
最終更新

