amazon-web-services - 如何使用 AWS Batch 从私有存储库中提取 Docker 映像?
问题描述
我正在使用 AWS Batch,我的 Docker 映像托管在私有 Nexus 存储库上。我正在尝试创建作业定义,但我找不到任何指定回购凭证的方法,就像我们在 ECS 中使用任务定义所做的那样。
我试图像这样在 Json 中手动指定它:
{
"command": ["aws", "s3", "ls"],
"image": "nexus-docker-repo.xxxxx.xxx/my-image",
"memory": 1024,
"vcpus": 1,
"repositoryCredentials": {
"credentialsParameter": "ARN_OF_CREDENTIALS"
},
"jobRoleArn" : "ARN_OF_THE_JOB"
}
但是当我应用更改时,参数 credentialsParameter 被删除。我认为它不受支持。
那么如何使用 AWS Batch 从私有存储库中提取图像?可能吗 ?
谢谢你。
解决方案
repositoryCredentials
我在批处理作业定义中也没有看到该选项。
一个安全的选择可能是
- 为docker login生成 config.json
- 将该文件放入 s3
- 生成有权访问该文件的 IAM 角色。
- 使用启动模板和用户数据创建计算环境以下载 config.json
- 使用该计算环境运行作业。
推荐阅读
- swt - 如何在不使用 SWT.SEARCH 样式的情况下在 swt 文本框中设置占位符
- javascript - 从 makefile 调用 node.js 失败
- winapi - 启用 LWA_COLORKEY 时如何防止颜色键明显闪烁
- reactjs - 在 TouchableOpacity 上 React Native nextFocusRight Prop 不起作用
- javascript - 如果用户同时发送多张照片,如何让机器人响应一次?
- android - 我想上传图片代码在谷歌像素和所有手机上运行良好,但在发生 MI 手机问题时,无法从图库上传图片
- android - lateinit 属性 Presenter 没有通过 Dagger 初始化
- python - for 循环不继续;试试除了
- angular - 有没有办法从构建中排除不需要的语言环境(ngx-bootstrap/chronos)?
- actions-on-google - 灯组显示开关设备