2017-04-22 13 views
1

ECRにプッシュするために、Jarファイルが埋め込まれたDockerイメージを準備する必要があります。 JarファイルがS3バケットに格納されています。イメージ内にjarを挿入するにはどうすればAWSアクセスキーを明示的にイメージに格納せずに挿入できますか? AWS CLIを使用することも、他の方法で使用することもできますか? また、docker runの実行中にs3バケットにパブリックアクセスを追加し、env変数経由でアクセスキーを設定することはお勧めしません。Dockerイメージ内のAWS S3からアーティファクトを挿入する方法は?

+0

Dockerビルドプロセスまたは実行時にJarをコピーしますか?私は、ビルド時にS3からJarを取り出し、ECRにプッシュする必要があると思います。イメージにはS3へのアクセス権がありません。 – Ashan

+0

SOはソースコードについて議論する場所です。この質問は純粋に製品の使用方法に関するものです。スーパーユーザーのサイトはこれに適しています。 – lit

+0

@Ashan、ビルド時にjarをコピーします。しかし、もし私のドッカーファイルにAWS CLIをインストールし、s3からjowをダウンロードするためにそれを使用すると、アクセスキーを指定する必要があります。そして、私はこの場合に正しい方法を見つけたいと思っています。 –

答えて

1

AWS IAMロールを定義し、EC2インスタンスにアタッチすることができます。したがって、このdocker buildコマンドを実行する必要があるインスタンスは、IAMロールがアタッチされている限り実行できます。これはAWS Consoleから行うことができます。これは、AWS資格証明をインスタンス自体に置くという問題を解決します。

あなたはまだDockerファイルにaws cliをインストールする必要があります。 IAMロールが添付されると、資格情報について心配する必要はありません。

推奨ドキュメント:ちょうどあなたがIAM役割S3バケットあなたに指定してください

Attach an AWS IAM Role to an Existing Amazon EC2 Instance by Using the AWS CLI

IAM Roles for Amazon EC2

ここでこれを行う方法の公式ブログの記事のチュートリアルですこれらのインスタンスにアクセスできるようにします。

+0

ありがとう!私は方法はわかりませんが、AWS CLIはドッカーコンテナ以外の資格情報を探していて、IAMインスタンスロールを使用しています。 –

関連する問題