Closed5

rootで動くコンテナでawsクレデンシャルを読み込めなかった

not75743not75743

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".
not75743not75743

とりあえずaws configureする

とりあえずaws configureしてみて、どこにファイルが生成されるか確かめます。

# aws configure

ファイルを探します

# find / -name "credentials"
/root/.aws/credentials
/tmp/.aws/credentials

tmp...?

not75743not75743

composeファイルを編集

ということで以下のように変更すればよいです

docker-compose.yaml
    volumes:
        - "~/.aws/:/tmp/.aws:ro"

コンテナ再起動後、適切な権限でawscliが使用できればOKです

# aws sts get-caller-identity
{
    "UserId": "略",
    "Account": "略",
    "Arn": "略"
}
このスクラップは2023/05/28にクローズされました