我正在尝试设置amazon-ecr-凭证助手这样我就可以让 ansible 脚本自动推送/拉取到我的 aws ecr docker 存储库,但安装它的说明似乎非常模糊。
由于我已经安装了 Docker,我尝试克隆 repo 并运行make docker
。它说将二进制文件输出到“本地目录”。这似乎是真的,我最终成功了./bin/local/docker-credential-ecr-login
。所以我尝试将其添加到我的路径中:
.bash_profile
export PATH="$HOME/anaconda3/bin:$HOME/projects/amazon-ecr-credential-helper/bin:$PATH"
并重新启动我的终端,但是当我尝试执行 docker push 时出现错误no basic auth credentials
。
如果我尝试做一个,docker-compose build
我会得到错误Credentials store error: StoreError('docker-credential-ecr-login not installed or not available in PATH',)
。
答案1
在 Ubuntu 上设置凭据助手的步骤。
假设您已安装 docker,并且 AWS 凭证可在以下位置获得:~/.aws/credentials 文件
- 克隆 git 存储库https://github.com/awslabs/amazon-ecr-credential-helper.git
- cd 到克隆的文件夹“amazon-ecr-credential-helper”
- 在终端上运行命令“make docker”
- 它将创建二进制文件“./bin/local/docker-credential-ecr-login”
- 使用命令“ sudo cp ./bin/local/docker-credential-ecr-login /usr/bin/lib/docker-credential-ecr-login ”将此二进制文件复制到 /usr/bin/lib
创建或修改 /.docker/config.json 中的 docker config.json 文件,内容如下
{ "credsStore": "ecr-login" }
然后尝试将 Docker 映像推送到 AWS ECR 存储库
Ravneet Arora(DevOps)