Closed5
rootで動くコンテナでawsクレデンシャルを読み込めなかった
rootで動くコンテナの中でawscliを使いたく、以下のようにホストのawsクレデンシャルを共有しました。
docker-compose.yaml
volumes:
- "~/.aws/:/root/.aws:ro"
しかしうまくいかず、調査することにします
# aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
aws configure
する
とりあえずとりあえずaws configure
してみて、どこにファイルが生成されるか確かめます。
# aws configure
ファイルを探します
# find / -name "credentials"
/root/.aws/credentials
/tmp/.aws/credentials
tmp
...?
答え合わせ
$HOME
を見てみると/tmp
となっていました。
# echo $HOME
/tmp
awscliはこちらを参照しており、ファイルが無いためエラーを吐いたようです。
てっきり/root
だと思い込んでいました。
$HOME またはチルド ~ (Unix ベースのシステムの場合) を使用して参照されます
composeファイルを編集
ということで以下のように変更すればよいです
docker-compose.yaml
volumes:
- "~/.aws/:/tmp/.aws:ro"
コンテナ再起動後、適切な権限でawscliが使用できればOKです
# aws sts get-caller-identity
{
"UserId": "略",
"Account": "略",
"Arn": "略"
}
このスクラップは2023/05/28にクローズされました