[英]AWS ECS Assumed Role using CloudFormation. Where to get assumed role for Docker micro service deployed in ECS?
[英]Docker Build using an Assumed Role Profile
我想在本地构建一个 docker 映像,该映像复制一个 s3 文件并将其设置为要由容器执行的文件。
如何在不使用访问密钥的情况下引用 docker 文件中的 S3 存储桶所需的正确配置文件?
dockerfile:
FROM onesysadmin/awscli:latest
RUN aws s3 cp s3://sample-bucket-dev-us-east-1/test_script.sh test_script.sh
RUN chmod 755 test_script.sh
CMD test_script.sh
.aws/凭证:
[master]
aws_access_key_id = ASIASF.......
aws_secret_access_key = 75opt1.......
aws_session_token = FwoGZXIvYXdzE......
aws_security_token = FwoGZXIvYXdzEFwoGZ......
[master-dev]
region = us-east-1
role_arn = arn:aws:iam::1234567890:role/master-admin
source_profile = master
即..我希望能够在我的docker build
命令中使用master-dev
作为配置文件。
我最终使用了 docker buildkit 。
我在 Mac 上,必须将我的 'docker desktop' 设置更改为true
以进行实验(Docker --> Preferences --> Docker Engine):
{
"debug": true,
"experimental": true
}
然后我改变了我的 dockerfile:
# syntax = docker/dockerfile:experimental
FROM onesysadmin/awscli:latest
ARG PROFILE
ENV AWS_DEFAULT_PROFILE=$PROFILE
RUN --mount=type=secret,id=aws,target=/root/.aws/credentials aws sts get-caller-identity
RUN --mount=type=secret,id=aws,target=/root/.aws/credentials aws s3 cp s3://sample-bucket-dev-us-east-1/test_script.sh test_script.sh
RUN chmod 755 test_script.sh
CMD test_script.sh
最后运行构建命令:
DOCKER_BUILDKIT=1 docker build -t testing --build-arg PROFILE=master-dev \
--secret id=aws,src=$HOME/.aws/credentials .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.