
richarvey/awscliAWS Toolkit是AWS CLI的Docker化版本,无需直接安装到系统即可运行AWS命令行工具。通过映射本地AWS凭证,可轻松在命令行中使用aws命令。镜像每日自动构建,确保Linux基础镜像和AWS CLI版本持续更新,基于Alpine Linux构建,体积远小于Amazon官方镜像,同时支持x86_64和arm64架构。
自版本2.2.10起,镜像体积大幅优化至97.6MB(后续版本因功能增强略有增加,最新版本约143MB),解决了musl libc和OpenSSL兼容性问题,提供更轻量、高效的使用体验。
2.2.6)~/.aws),无需重新配置| 镜像 | 版本 | 基础镜像 | 未压缩大小 | 压缩大小 |
|---|---|---|---|---|
| amazon/aws-cli | latest | Amazon Linux | 387MB | !image size |
| richarvey/awscli | < 2.2.9+ | Debian Slim | ~178MB | !image size |
| richarvey/awscli | 2.2.10+ | Alpine Linux | 97.6MB | !image size |
| richarvey/awscli | 2.3.0+ | Alpine Linux | ~113MB | !image size |
| richarvey/awscli | latest | Alpine Linux | ~143MB | !image size |
bashdocker pull richarvey/awscli:latest
如需特定版本,可指定标签(与AWS CLI版本对应):
bashdocker pull richarvey/awscli:2.2.6 # 拉取AWS CLI 2.2.6版本
所有标签可查看Docker Hub
映射当前工作目录(用于文件操作)和AWS凭证目录,限制容器对系统的访问范围:
bashdocker run -it -v `pwd`:/cfg -v ~/.aws:/home/awsuser/.aws richarvey/awscli:latest ${COMMAND}
-v \pwd`:/cfg:映射当前工作目录到容器内/cfg`,便于操作本地文件(如CloudFormation模板)-v ~/.aws:/home/awsuser/.aws:映射本地AWS凭证目录,容器可直接使用本地配置的凭证示例:查看S3存储桶列表
bashdocker run -it -v `pwd`:/cfg -v ~/.aws:/home/awsuser/.aws richarvey/awscli:latest s3 ls
映射整个用户主目录,允许容器访问更多文件(谨慎使用):
bashdocker run -it -v ~/:/home/awsuser richarvey/awscli:latest ${COMMAND}
通过环境变量AWS_PROFILE指定使用的AWS配置文件,无需在命令中添加--profile参数:
bashdocker run -it -e AWS_PROFILE=SomeProfile -v `pwd`:/cfg -v ~/.aws:/home/awsuser/.aws richarvey/awscli:latest ${COMMAND}
通过设置别名,可像本地安装AWS CLI一样直接使用aws命令:
编辑.bash_profile:
bashvi ~/.bash_profile
添加以下内容:
bashaws() { docker run -it -v `pwd`:/cfg -v ~/.aws:/home/awsuser/.aws --rm richarvey/awscli:latest "$@"; }
使配置生效:
bashsource ~/.bash_profile
现在可直接使用aws命令:
bashaws s3 ls # 列出S3存储桶
为不同AWS账户设置独立别名:
bashvi ~/.bash_profile
添加以下内容:
bash# 默认账户 aws() { docker run -it -v `pwd`:/cfg -v ~/.aws:/home/awsuser/.aws --rm richarvey/awscli:latest "$@"; } # 特定配置文件账户(对应~/.aws/config中的SomeProfile) aws_profile_name() { docker run -it -e AWS_PROFILE=SomeProfile -v `pwd`:/cfg -v ~/.aws:/home/awsuser/.aws --rm richarvey/awscli:latest "$@"; }
使用示例:
bashaws s3 ls # 使用默认配置 aws_profile_name ec2 describe-instances # 使用SomeProfile配置查询EC2实例
如需自定义构建,可使用以下命令:
bashgit clone [***] cd aws-docker-toolkit docker build -t my-awscli .


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务