GNU/Linux >> LINUX-Kenntnisse >  >> Linux

docker - AWS-Anmeldeinformationen können nicht im Container gefunden werden, obwohl sie vorhanden sind

was siehst du, wenn du rennst

ls -l ~/.aws/config

innerhalb Ihrer Docker-Instanz?


$HOME/.aws/ montieren in den Behälter sollte funktionieren. Stellen Sie sicher, dass es schreibgeschützt gemountet wird.

Erwähnenswert ist es auch, wenn Sie mehrere Profile haben in Ihrem ~/.aws/config -- Sie müssen auch den AWS_PROFILE=somethingsomething angeben Umgebungsvariable. Z.B. über docker run -e AWS_PROFILE=xxx ... Andernfalls erhalten Sie dieselbe Fehlermeldung (Anmeldeinformationen können nicht gefunden werden).

Aktualisierung: Beispiel für den Mount-Befehl hinzugefügt

docker run -v ~/.aws:/root/.aws …

Sie können die Umgebungsvariable verwenden, anstatt ~/.aws/credentials und die Konfigurationsdatei in den Container für aws-cli

zu kopieren

docker run \ -e AWS_ACCESS_KEY_ID=AXXXXXXXXXXXXE \ -e AWS_SECRET_ACCESS_KEY=wXXXXXXXXXXXXY \ -e AWS_DEFAULT_REGION=us-west-2 \ <img>

Siehe:AWS CLI-Dokument


Linux
  1. Docker Run vs. Start vs. Create:Unterschied erklärt

  2. Wie kann ich Nginx in einem Docker-Container ausführen, ohne anzuhalten?

  3. Kann Docker in einem Linux-Container ausgeführt werden?

  4. Wie sende ich ein Signal an das Programm, das in einem Docker-Container ausgeführt wird?

  5. Wie füge ich Benutzer zum Docker-Container hinzu?

So führen Sie Jenkins Container als Systemd-Dienst mit Docker aus

So führen Sie den ELK-Stack im Docker-Container aus

So führen Sie PHPMyAdmin in einem Docker-Container aus

So führen Sie Grafana in einem Docker-Container aus

So führen Sie Docker-Container aus

Docker-Container im Hintergrund ausführen (getrennter Modus)