Ubuntu 18.04 上的 AWS ECR docker 登录问题

Dav*_*ion 3 amazon-web-services amazon-ecs docker

我使用此命令获取 AWS ECR 登录令牌

aws ecr get-login --no-include-email --region ap-southeast-1
Run Code Online (Sandbox Code Playgroud)

之后,我使用 aws 命令的输出运行 docker login

sudo docker login -u AWS -p eyJwYX****** https://****8010.dkr.ecr.ap-southeast-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

但结果是

Error saving credentials: error storing credentials - err: exec: "docker-credential-pass": executable file not found in $PATH, out: ``
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何修复这个错误我尝试到处搜索但仍然没有运气

Vic*_*ong 5

请尝试以下步骤来修复您的 docker-credential-pass:

  1. 安装 docker-credential-pass

    wget https://github.com/docker/docker-credential-helpers/releases/download/v0.6.0/docker-credential-pass-v0.6.0-amd64.tar.gz 
    tar -xf docker-credential-pass-v0.6.0-amd64.tar.gz
    chmod +x docker-credential-pass
    sudo mv docker-credential-pass /usr/local/bin/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 设置通行证和 gpg

    sudo apt-get update
    sudo apt-get install -y pass gpg
    gpg2 --gen-key
    pass init "<PASTE THE GPG-ID>"
    pass insert docker-credential-helpers/docker-pass-initialized-check
    (Set it as "pass")
    pass show docker-credential-helpers/docker-pass-initialized-check
    docker-credential-pass list
    (You should not see "pass store is uninitialized")
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将 credsStore 行添加到 ~/.docker/config.json

    {
        "auths": {
            **SKIPPED**
        },
        "credsStore": "pass"
    }
    
    Run Code Online (Sandbox Code Playgroud)

    然后您应该能够登录。