So fügen Sie „amazon-ecr-credential-helper“ zum Pfad hinzu

So fügen Sie „amazon-ecr-credential-helper“ zum Pfad hinzu

Ich versuche einzurichtenAmazon-ECR-Anmeldeinformationshelferdamit ich ein Ansible-Skript automatisch in mein AWS-ECR-Docker-Repository pushen/pullen lassen kann, aber die Anweisungen zur Installation scheinen sehr vage.

Da ich Docker bereits installiert habe, habe ich versucht, das Repository zu klonen und auszuführen make docker. Es heißt, dass die Binärdatei „in ein lokales Verzeichnis“ ausgegeben wird. Das schien zu stimmen, denn am Ende wurde „ ./bin/local/docker-credential-ecr-loginbuild“ ausgegeben. Also habe ich versucht, das zu meinem Pfad hinzuzufügen:

.bash_profile export PATH="$HOME/anaconda3/bin:$HOME/projects/amazon-ecr-credential-helper/bin:$PATH"

Und ich starte mein Terminal neu, aber wenn ich versuche, einen Docker-Push auszuführen, erhalte ich die Fehlermeldung no basic auth credentials.

Und wenn ich versuche, eins auszuführen, docker-compose builderhalte ich die Fehlermeldung Credentials store error: StoreError('docker-credential-ecr-login not installed or not available in PATH',).

Antwort1

Schritte zum Einrichten des Credential Helper unter Ubuntu.

Dies setzt voraus, dass Sie Docker installiert haben und AWS-Anmeldeinformationen unter folgender Adresse verfügbar sind: ~/.aws/credentials file

  1. Klonen Sie das Git-Repositoryhttps://github.com/awslabs/amazon-ecr-credential-helper.git
  2. Wechseln Sie zum geklonten Ordner „amazon-ecr-credential-helper“.
  3. Führen Sie im Terminal den Befehl „make docker“ aus.
  4. Es wird die Binärdatei „./bin/local/docker-credential-ecr-login“ erstellt.
  5. Kopieren Sie diese Binärdatei mit dem Befehl " sudo cp ./bin/local/docker-credential-ecr-login /usr/bin/lib/docker-credential-ecr-login nach /usr/bin/lib
  6. Erstellen oder ändern Sie die Docker-Datei config.json unter /.docker/config.json mit dem folgenden Inhalt

      {
          "credsStore": "ecr-login"
       }
    

    Versuchen Sie dann, das Docker-Image in das AWS ECR-Repository zu übertragen.

Ravneet Arora (DevOps)

verwandte Informationen