apache/cloudstack-ec2stack Docker Image
自动构建
Apache Cloudstack EC2stack镜像提供与Amazon EC2兼容的API接口,用于通过熟悉的EC2 API管理Apache Cloudstack云基础设施,简化云资源操作与集成。
Apache CloudStack EC2stack 镜像文档
镜像概述和主要用途
Apache CloudStack EC2stack 是一个为 Apache CloudStack 提供 EC2 兼容性接口的工具。它能够接收 Amazon EC2 API 请求,将这些请求映射到相应的 CloudStack API 调用,并按要求解析响应。这使得为 Amazon EC2 API 创建的工具可以用于 Apache CloudStack。
核心功能和特性
- 将 Amazon EC2 API 请求转换为 CloudStack API 调用
- 解析 CloudStack 响应以适应 EC2 API 格式
- 支持 AWS Signature Version 2 签名验证
- 提供 REST API 接口,默认监听 5000 端口
- 与 AWS CLI 工具兼容(需配置使用 v2 签名版本)
使用场景和适用范围
- 需要使用 AWS CLI 或其他 EC2 工具管理 CloudStack 资源的环境
- 希望在 CloudStack 平台上使用基于 EC2 API 的自动化脚本或工具
- 迁移自 AWS EC2 并希望保持工具链兼容性的场景
- 开发需要同时支持 EC2 和 CloudStack 的多云应用
详细的使用方法和配置说明
前提条件
- Docker 环境
- CloudStack 环境的 API 访问密钥(Access Key 和 Secret Key)
- CloudStack 服务端点信息
镜像获取
bashdocker pull docker.xuanyuan.run/cloudstack/cloudstack-ec2stack
配置步骤
- 运行交互式容器进行配置
bashdocker run -ti docker.xuanyuan.run/cloudstack/cloudstack-ec2stack ec2stack-configure
注意:配置过程中,请将绑定地址设置为
0.0.0.0以允许容器外部访问
- 提交配置后的容器为新镜像
bash# 首先获取容器ID docker ps -a # 提交为新镜像 docker commit <container_id> ec2stack:yourcloud
运行容器
bashdocker run -d -p 5000:5000 docker.xuanyuan.run/ec2stack:yourcloud ec2stack
用户注册
bashcurl -d AWSSecretKey=yoursecretkey -d AWSAccessKeyId=yourapikey -d Action=RegisterSecretKey http://localhost:5000
成功注册后会返回 XML 响应,包含 "Successfully Registered" 消息。
AWS CLI 配置
- 安装 AWS CLI(Ubuntu 系统)
bashsudo apt-get install python-pip sudo pip install awscli
- 配置 AWS CLI
bashaws configure
输入 CloudStack API 密钥、区域名称,并将签名版本设置为 v2:
bashaws configure set default.ec2.signature_version v2
- 使用 AWS CLI 访问 CloudStack
bashaws ec2 describe-images --endpoint=http://localhost:5000
配置参数说明
重要配置注意事项
EC2stack 当前版本仅支持 AWS Signature Version 2,因此使用 AWS CLI 时必须显式配置使用 Version 2:
-
对于默认配置文件:
bashaws configure set default.ec2.signature_version v2 -
对于命名配置文件:
bashaws configure set profile.<your_profile_name>.ec2.signature_version v2
这些命令会更新 ~/.aws/config 文件中的相应设置。
Docker Compose 部署示例
创建 docker-compose.yml 文件:
yamlversion: '3' services: ec2stack: build: context: . dockerfile: Dockerfile.ec2stack ports: - "5000:5000" restart: always environment: - CLOUDSTACK_ENDPOINT=https://your-cloudstack-api-endpoint - CLOUDSTACK_ZONE=your-zone-name command: ec2stack
验证部署
部署完成后,可以使用以下命令验证服务是否正常运行:
bash# 检查服务是否响应 curl http://localhost:5000 # 验证基本功能 aws ec2 describe-instances --endpoint=http://localhost:5000
参考文档
- http://cloudstack.apache.org
- https://github.com/apache/cloudstack-ec2stack/USER.md
- https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 cloudstack-ec2stack 镜像标签
docker pull docker.xuanyuan.run/apache/cloudstack-ec2stack:<标签>
DockerHub 原生拉取命令
docker pull apache/cloudstack-ec2stack:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务