質問: 普段、aws を使って開発しているときは、 `aws configure` を用いて aws key の設定を行っています。結果、 `~/.aws/credentials` にそれらが保存されます。 この状態で、たとえば aws とインタラクションを行うサーバーの開発などをやっていたとします。それを docker に詰め込んだりなどします。サーバーの挙動を確認したくなります。 docker のコンテナは、環境変数から aws の鍵情報を読み込むのが自然かと思います。なので、それをコマンドから `docker run` する際には、どうにかして `~/.aws/credentials` の内容を読み込まなければならないと思っています。 ### 質問 `~/.aws/credentials` に書いてある特定の profile の AWS_KEY や AWS_SECRET を抽出するコマンドはありますか?
回答: 既に承認済みとのことですが、僕の対処法を書いておきます。参考に。 dockerコンテナ内にaws認証情報を環境変数なりで埋め込んで、コンテナ内からAWS SDKを実行したい場合がありました。 以下対策です。 1. ホストOSの`.bash_profile`に以下を追加して、環境変数に`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`を設定 ``` if [ -f ~/.aws/credentials ]; then export AWS_ACCESS_KEY_ID=$(grep aws_access ~/.aws/credentials | cut -d" " -f 3); fi if [ -f ~/.aws/credentials ]; then export AWS_SECRET_ACCESS_KEY=$(grep aws_secret ~/.aws/credentials | cut -d" " -f 3); fi ``` 2. `docker run`時に環境変数を渡す。`docker-compose`であれば`environment`に`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`を宣言するだけ