小编efr*_*dom的帖子

如何使用 python docker-py 连接到 AWS ECR

从命令行运行时,要从特定注册表中提取,我可以运行以下命令:

dockerCommand=$("aws ecr get-login --profile profileName --region us-west-2")
$dockerCommand  (which looks like docker login -u AWS -p ..longPassword.. -e none https://ACCTID.dkr.ecr.us-west-2.amazonaws.com
docker pull ACCTID.dkr.ecr.us-west-2.amazonaws.com/REPO/NAME:TAGNAME
Run Code Online (Sandbox Code Playgroud)

如果我想要一个不同的注册表,我会更改区域或配置文件名称

用 docker-py 试试这个,我有

import boto3
import docker
dockerClient = docker.from_env()

session = boto3.setup_default_session(profile_name='vzw')
client = session.client('ecr', region_name='us-west-2')

token = client.get_authorization_token(registryIds=[registryId])

username = 'AWS'
password = token['authorizationData'][0]['authorizationToken']
registry = token['authorizationData'][0]['proxyEndpoint']
regClient = dockerClient.login(username, password, registry)
Run Code Online (Sandbox Code Playgroud)

dockerClient拒绝与以下内容的联系:

错误的用户名或密码

从那里开始,一旦工作正常,我将想要使用 docker 客户端拉/推在注册表之间移动图像。

是正确的方向还是我应该尝试完全使用 shell 脚本来实现?(Python 对于描述每个注册表中的内容的 boto 调用特别有价值)

python docker amazon-ecr

9
推荐指数
4
解决办法
8619
查看次数

标签 统计

amazon-ecr ×1

docker ×1

python ×1