5

私はECSを使用して展開しようとしているDockerHub上の私的なリポジトリを持っています。Amazon ECSプライベートDockerHubリポジトリ:提供されたドッカー資格情報エラーを解読できません

Unable to decode provided docker credentials module="ecs credentials" type="dockercfg" 

または私はタイプのドッキングウィンドウとしよう:私はECSの開発者フォーラムで述べたすべての可能性を試してみました

Unable to decode provided docker credentials module="ecs credentials" type="docker" 

私はいつも次のエラーを取得します。

私が試した:

ECS_ENGINE_AUTH_TYPE=dockercfg 
ECS_ENGINE_AUTH_DATA='{"https://index.docker.io/v1/":{"auth":"<token>","email":"<email>"}}' 

を私も試してみました:

ECS_ENGINE_AUTH_TYPE=docker 
ECS_ENGINE_AUTH_DATA='{"https://index.docker.io/v1/":{"username":"<username>","password":"<password>","email":"<email>"}}' 

も(https://godoc.org/github.com/aws/amazon-ecs-agent/agent/engine/dockerauthでのドキュメントのために):私も '' なしで試してみました

ECS_ENGINE_AUTH_TYPE=docker 
ECS_ENGINE_AUTH_DATA='{"https://index.docker.io/v1/<username>":{"username":"<username>","password":"<password>","email":"<email>"}}' 

JSONのまわりの ""と同じ効果があります。私はいつも同じエラーを受けます。

私はecs.configをうまく動作するS3コンテナから取得しています。ファイルをダウンロードしたときに疑わしいフォーマットがある場合に備えて、手動でファイルを再入力しました(ただし、S3ファイルがバイトストリームとして提供されるため、これがどうなるかわかりません)。

docker login --username=<username> --password=<password> --email=<email> 
私はその後、正常に画像引くことができ

:私は、ログイン(したがって、ドッキングウィンドウを生成した後でも、しかしdocker pull A/B:latest

を〜/私は、インスタンスにSSHで接続し、次の手順を実行した場合

.docker/config.jsonファイル)、私はまだECSから同じエラーを取得します。

私はecs.configファイルを変更することですべての操作が以下のように行われた言及する必要があります:タスクの

  1. 変更番号を
  2. sudo stop ecs
  3. の変更設定ファイルを終了する0
  4. 待つこと
  5. sudo start ecs
  6. タスク数を1に変更する

繰り返し...

それは非常にイライラきます。..どのようにすべきこの作品か、それはドキュメントが書かれていたので、どのように変化するかを持っていますか?

ご協力いただければ幸いです。

EDIT

は、私はまた/etc/ecs/ecs.configでJSONコンフィグファイルにドッキングウィンドウの認証を設定してみました。json:

{ 
     "EngineAuthType": "docker", 
     "EngineAuthData": { 
       "https://index.docker.io/v1/": { 
         "username": "<me>", 
         "password": "<password>", 
         "email": "<email>" 
       } 
     } 
} 

ここでは、JSONの設定について説明します。https://godoc.org/github.com/aws/amazon-ecs-agent/agent/confighttps://github.com/aws/amazon-ecs-agent/blob/b197eddd9d5272eeac7dddaa2a84cc4c85522354/agent/engine/dockerauth/doc.go

具体的に:また、ここではコードのコメントに記載されている

These keys may be set by either setting the environment variables "ECS_ENGINE_AUTH_TYPE" and "ECS_ENGINE_AUTH_DATA" or by setting the keys "EngineAuthData" and "EngineAuthType" in the JSON configuration file located at the configured "ECS_AGENT_CONFIG_FILE_PATH" (see http://godoc.org/github.com/aws/amazon-ecs-agent/agent/config)

これで再び、同じエラーを与えて...

答えて

5

のコードを見ているいくつかの時間を過ごした後ECSエージェント(https://github.com/aws/amazon-ecs-agent)問題がどこにあるか分かりました。問題は、削除する必要がある電子メールフィールドにあります!

それでは、これを行う方法をおさらいします

現在地指示に従う必要があります:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/private-auth.htmlを。

ただし、すべての例には電子メールフィールドが含まれています。

ecs.configは次のようになります。http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html、特に「アマゾンS3にecs.configファイルを保存するには」:

ECS_ENGINE_AUTH_TYPE=dockercfg 
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"<your auth token>"}} 

はS3コンテナからecs.configをロードするには、あなたのインスタンスが作成されるときに、この従ってください「起動時にAmazon S3からecs.configファイルをロードする」の見出しを参照してください。

関連する問題