2015-07-14 6 views
5

Ich versuche, Docker Bild von seinem privaten Repo zu ziehen und es auf AWS Elastic Beanstalk mit Hilfe von Dockerrun.aws.json gepackt in Zip bereitzustellen. Sein Inhalt istBereitstellen von Bild in AWS Elastic Beanstalk von privaten Docker Repo

{ 
    "AWSEBDockerrunVersion": "1", 
    "Authentication": { 
     "Bucket": "my-bucket", 
     "Key": "docker/.dockercfg" 
    }, 
    "Image": { 
     "Name": "namespace/repo:tag", 
     "Update": "true" 
    }, 
    "Ports": [ 
     { 
      "ContainerPort": "8080" 
     } 
    ] 
} 

Wo „my-Eimer“ meine Buckets ist der Name auf s3, die die gleiche Position wie meine BS-Umgebung verwendet. Konfiguration, die in Schlüssel eingestellt ist, ist das Ergebnis

$ docker login 

aufgerufen in Docker2boot App-Terminal. Dann wird es in den Ordner "docker" in "my-bucket" kopiert. Das Bild existiert sicher. Danach habe ich .zip mit dockerrun-Datei EB laden und auf deploy bekomme ich

Activity execution failed, because: WARNING: Invalid auth configuration file 

Was bin ich? Vielen Dank im Voraus

+0

können Sie versuchen, "docker/.dockercfg" zu etwas weniger schwierig zu ändern? wie wäre es mit "myapp.dockercfg"? EBS ist berüchtigt für seine Intoleranz gegenüber Datenvalidierung. – Tal

+0

danke für deinen Kommentar, @Tal, aber immer noch kein Glück und es gibt das gleiche Problem –

Antwort

13

Docker hat den Konfigurationsdateipfad von ~/.dockercfg auf ~/.docker/config.json aktualisiert. Sie haben diese Gelegenheit auch genutzt, um eine bahnbrechende Änderung am Konfigurationsdateiformat vorzunehmen.

AWS erwartet jedoch noch das frühere Format, das man verwendet in ~/.dockercfg (see the file name in their documentation):

{ 
    "https://index.docker.io/v1/": { 
    "auth": "__auth__", 
    "email": "__email__" 
    } 
} 

die mit dem neuen Format in ~/.docker/config.json verwendet unvereinbar ist:

{ 
    "auths": { 
     "https://index.docker.io/v1/": { 
      "auth": "__auth__", 
      "email": "__email__" 
     } 
    } 
} 

Sie ziemlich ähnlich sind obwohl. Wenn Ihre Version von Docker das neue Format generiert, entfernen Sie einfach die Zeile auths und die entsprechende geschweifte Klammer und schon kann es losgehen.

+1

Vielen Dank! Das ist der Punkt –

+3

Ich machte einen Beitrag, der die Lücken in den AWS-Dokumenten und Videos füllen sollte: [Deploy Private Docker zu Elastic Beanstalk] (http://thequietlattetice.com/docker/aws/elasticbeanstalk/2015/12/18/ deploy-private-docker-zu-elb.html – BatteryAcid

Verwandte Themen