Почему после входа в систему с помощью клиента boto ecr отказано в вводе Docker? - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть следующий код:

token = boto3.Session().client('ecr').get_authorization_token()
token = token['authorizationData'][0]
username, password = b64decode(token['authorizationToken']).decode().split(':')

Здесь я вижу имя пользователя = AWS и пароль.Если я использую эти учетные данные в командной строке с docker login -u AWS -p xxx [SERVER], я получаю «Login Succeeded», и тогда я могу docker push.

Однако в Python Docker SDK я делаю:

docker_client = docker.from_env()
login_response = docker_client.login({
            'username': username,
            'password': password,
            'registry': token['proxyEndpoint'],
        })

с ответом:

{'IdentityToken': '', 'Status': 'Login Succeeded'}

но когда я это сделаю, то:

docker_client.images.push()

Я получу ошибку об отказе в доступе.

Если я впервые войду в систему с CLI,тогда скрипт python работает.

...