5

Tôi có một kho lưu trữ riêng trên DockerHub mà tôi đang cố triển khai với ECS. Tôi luôn luôn nhận được lỗi sau:Amazon ECS private DockerHub repo: Không thể giải mã lỗi ủy nhiệm docker được cung cấp

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

hoặc nếu tôi cố gắng với loại Docker:

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

Tôi đã thử tất cả các khả năng được đề cập trên các diễn đàn phát triển ECS.

tôi đã cố gắng:

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

Tôi cũng đã cố gắng:

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

Và cũng (vì các tài liệu tại 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>"}}' 

Tôi cũng đã cố gắng mà không có sự '' và với "" xung quanh JSON .. cùng một hiệu ứng. Tôi luôn gặp lỗi tương tự.

Tôi nên thêm Tôi đang nhận ecs.config từ thùng chứa S3 hoạt động tốt. Tôi cũng đã gõ lại các tập tin bằng tay trong trường hợp có một số định dạng không rõ ràng khi tập tin được tải xuống (mặc dù tôi không thấy làm thế nào điều này có thể là trường hợp như các tập tin S3 đến như là một dòng byte).

Nếu tôi SSH vào các ví dụ và thực hiện như sau:

docker login --username=<username> --password=<password> --email=<email> 

sau đó tôi có thể kéo hình ảnh thành công: docker pull A/B:latest

Tuy nhiên, ngay sau khi tôi đăng nhập (và do đó Docker tạo ra ~/.docker/config.json), tôi vẫn nhận được lỗi tương tự từ ECS.

tôi nên đề cập đến tất cả các hoạt động trong việc thay đổi các tập tin ecs.config đã được thực hiện như sau:

  1. Thay đổi số nhiệm vụ để 0
  2. Chờ để kết thúc
  3. sudo stop ecs
  4. Thay đổi tập tin cấu hình
  5. sudo start ecs
  6. Thay đổi số lượng công việc thành 1

Lặp lại ...

Đó là nhận được rất bực bội .. Làm thế nào nên làm việc này hoặc làm thế nào có nó thay đổi kể từ khi tài liệu được viết?

Mọi trợ giúp sẽ được đánh giá cao.

EDIT

Tôi cũng đã cố gắng thiết lập các auth Docker trong file config JSON trong /etc/ecs/ecs.config.json:

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

Cấu hình JSON cho điều này được mô tả tại đây: https://godoc.org/github.com/aws/amazon-ecs-agent/agent/config. Nó cũng được đề cập trong các mã bình luận ở đây: https://github.com/aws/amazon-ecs-agent/blob/b197eddd9d5272eeac7dddaa2a84cc4c85522354/agent/engine/dockerauth/doc.go

Cụ thể hơn:

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)

Đây là một lần nữa, đưa ra các lỗi tương tự ...

Trả lời

5

Sau khi trải qua một thời gian tìm kiếm thông qua các mã của Đại lý ECS (https://github.com/aws/amazon-ecs-agent) Tôi đã nhận ra vấn đề ở đâu. Vấn đề là trong lĩnh vực email cần được loại bỏ!

Vì vậy, chỉ để tóm tắt lại như thế nào để làm điều này:

Bạn cần phải làm theo hướng dẫn tại đây: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/private-auth.html.

Tuy nhiên, tất cả các ví dụ đều bao gồm trường email.

Các ecs.config sẽ trông như thế này:

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

Để nạp ecs.config từ một container S3 khi trường hợp của bạn được tạo ra theo này: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html, đặc biệt là "Để lưu trữ một tập tin ecs.config ở Amazon S3" và "Để tải tệp ecs.config từ Amazon S3 khi khởi chạy" tiêu đề.

Các vấn đề liên quan