同じエラーが発生したため、この質問が見つかりました。ここでは、実際に豆の木のマルチコンテナアプリを展開する私のために働いた手順は次のとおりです。
を過去にこの特定のエラーを取得するには、私はeb
CLIツールを使用していました。何らかの理由で、私自身を圧縮してアップロードする代わりにeb deploy
を使用すると、これが修正されました。それは実際には機能しませんでしたが、それは私に新しい誤りを与えました。
したがって、私は、については、についてのエラーを停止するまで、より多くのドキュメントが必要なファイル形式を変更しました。
さらに、私はさらに良いエラーが発生しました! this part of the docsパー
ERROR: [Instance: i-0*********0bb37cf] Command failed on instance.
Return code: 1 Output: (TRUNCATED)..._api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (AccessDenied) when
calling the GetObject operation: Access Denied
Failed to download authentication credentials [config file name] from [bucket name].
Hook /opt/elasticbeanstalk/hooks/appdeploy/enact/02update-
credentials.sh failed. For more detail, check /var/log/eb-activity.log
using console or EB CLI.
これを解決する方法は
オープンにIAMコンソールでRolesページです。
aws-elasticbeanstalk-ec2-roleを選択します。
[権限]タブの[管理されたポリシー]で、[ポリシーを添付]を選択します。
アプリケーションが使用する追加サービスの管理ポリシーを選択します。たとえば、AmazonS3FullAccess
またはAmazonDynamoDBFullAccess
です。 (私たちの問題については、S3の場合)
アタッチポリシーを選択します。 (まあ、覚えておいてください、私は手紙にこれを行う方法のthe instructionsに従うことを試みたが、)Authentication credentials are not in JSON format as expected. Please generate the credentials using 'docker login'.
は:
この部分は、私はまだ別のエラーを得たので、本当にエキサイティングです。これは私の上にあったことがわかりましたが、S3に格納されているDockerHub認証ファイルにJSONの形式が正しくありませんでした。私は構文チェックを得るためにファイル名をdockercfg.json
に変更しました。この時点で... CannotPullContainerError: Error: image [DockerHub organization]/[repo name]:latest not found)
という別のエラーがあったため、Beanstalk/ECSは.json
という名前の部分でOKです。うーん、タイプミスがあったのかもしれない?確認してみましょう:
$ docker run -it [DockerHub organization]/[repo name]:latest
Unable to find image '[DockerHub organization]/[repo name]:latest' locally
latest: Pulling from [DockerHub organization]/[repo name]
[OK]をレポします。だから...私の認証は悪いですか?うん、私はあなたがをしてはならないDockerHubのauthドキュメントの例に従ったことが分かります。あなたのdockercfg.json
が
{
"https://index.docker.io/v1/": {
"auth": "ZWpMQ=Vyd5zOmFsluMTkycN0ZGYmbn=WV2FtaGF2",
"email": "[email protected]"
}
}
ようになっているはずがあり、さらにいくつかのエラーが(ボリュームsourcePath
は絶対パスである必要があります!それはinvalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed
メッセージは何を意味するかだ)だったが、それは最終的に展開します。小説のために申し訳ありません。それが誰かを助けることを望んでいる。
https://github.com/micahhausler/container-transformはDockerrun.aws.json形式で本当に役立ちました –