docker run時にAWS資格情報を渡してCLIやSDKを使う
概要
alipineイメージ上でAWS SDKを使ったGoバイナリを実行する
目的
IAMロールのテスト環境としてalpine上でAWS SDKを実行したかった
手順
Dockerfile
下記のDockerfile
と同ディレクトリにgo build
済みのtestCmd
を配置
testCmd
はAWS SDKを使ったGoのバイナリ
|
|
ビルド
同ディレクトリ上で実行
|
|
イメージの実行
--env
で必要な環境変数を渡す
--rm
は、コンテナ終了時にコンテナ自動削除(docker ps -a
に残らなくなる)
-it
は、疑似端末を使用してコンテナを対話的に実行
sh
は、shellを使う(alpineにbashはない)
|
|
コンテナ内
アクセスキーに間違いがなければAWS SDKを使ったバイナリが実行できる
CloudTrailでアクセスを確認してIAMロールの確認をする
まとめ
環境変数で渡すのが手間ではあるがベストプラクティスである
長いから docker run のコマンドをテキストで保存してたら、それはそれでいいのか疑問である
参考
https://docs.oracle.com/cd/E39368_01/E75728/html/section_vn2_l2z_fp.html