ローカルで Docker コンテナを動かす際に AWS のクレデンシャルを渡すため ~/.aws をマウントすることがあるが、 Docker Compose でも volumes で同様のことができる。 また、secrets というのもあって、 ドキュメント によると Swarm 前提の機能に見えるが、実際はスタンドアロンで動く。 ただし、これは開発用のためのもので実際はただ bind しているだけのようだ。
version: '3'
secrets:
aws_creds:
file: ~/.aws
services:
aws_cli:
image: amazon/aws-cli:2.9.0
secrets:
- source: aws_creds
target: /root/.aws
# volumes:
# - type: bind
# source: ~/.aws
# target: /root/.aws
environment:
AWS_PROFILE: xxxx
command:
- sts
- get-caller-identity