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-login
build“ 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 build
erhalte 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
- Klonen Sie das Git-Repositoryhttps://github.com/awslabs/amazon-ecr-credential-helper.git
- Wechseln Sie zum geklonten Ordner „amazon-ecr-credential-helper“.
- Führen Sie im Terminal den Befehl „make docker“ aus.
- Es wird die Binärdatei „./bin/local/docker-credential-ecr-login“ erstellt.
- 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
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)