開始使用 Amazon Elastic Container Registry

建立免費帳戶

此為 AWS 免費方案的一部分,您可以免費開始使用 Amazon Elastic Container Registry。Amazon ECR 為新客戶提供為期一年的每月 500 MB 儲存。

查看 AWS 免費方案詳細資訊 »


問:什麼是 Amazon Elastic Container Registry (ECR)?
Amazon Elastic Container Registry (ECR) 是一個全受管的 Docker 容器登錄檔,可讓開發人員輕鬆存放、管理以及部署 Docker 容器映像。Amazon ECR 已與 Amazon Elastic Container Service (ECS) 整合,以簡化從開發到生產的工作流程。Amazon ECR 讓您不必操作自己的容器儲存庫,也不必擔心如何擴展基礎設施。Amazon ECR 會將您的映像託管在高可用性及高可擴展性的架構中,讓您可靠地為應用程式部署容器。而其與 AWS Identity and Access Management (IAM) 的整合可為每個儲存庫提供資源層級的控制。

問:為什麼應該使用 Amazon ECR?
Amazon ECR 讓您不必操作和擴展用於支援容器登錄檔所需的基礎設施。Amazon ECR 使用 Amazon S3 進行儲存,讓您的容器映像高度可用且可存取,以便可靠地為應用程式部署新的容器。Amazon ECR 會透過 HTTPS 傳輸您的容器映像,並自動在靜態時加密映像。您可以設定政策以管理每個儲存庫的許可,並限制對 IAM 使用者、角色或其他 AWS 帳戶的存取。Amazon ECR 與 Amazon ECS 和 Docker CLI 相互整合,讓您能夠簡化從開發到生產的工作流程。您可以使用 Docker CLI 輕鬆地從開發機器將容器映像推送到 Amazon ECR,然後 Amazon ECS 可以直接取出這些映像以進行生產部署。

問:Amazon ECR 的定價為何?
使用 Amazon ECR 沒有預付費用或長期合約。您只需為儲存庫中存放的資料量以及傳輸到網際網路的資料支付費用。有關其他詳細資訊,請參閱我們的定價頁面。

問:Amazon ECR 是否為全球服務?
Amazon ECR 是區域服務,旨在提供您部署映像的彈性。您可以將映像推送/提取至可獲得最佳 Docker 叢集執行效能的相同區域。您也可以在執行 Docker 的任何地方存取 Amazon ECR,如桌面和現場部署環境。在區域間提取映像或將映像提出網際網路,會產生額外的延遲和數據傳輸費用。

問:Amazon ECR 是否可以託管公有容器映像?
Amazon ECR 目前支援私有映像。不過,使用 IAM 以資源為基礎的許可,可以設定每個儲存庫的政策,以允許對 IAM 使用者、角色或其他 AWS 帳戶的存取。

問:可以在 Amazon ECR 啟用哪些合規功能?
您可以在 Amazon ECR 上使用 AWS CloudTrail,以提供所有 API 動作的歷史記錄,如提取映像的人員及在映像間移動標籤的時間。管理員也可以找出哪些 EC2 執行個體提取了哪些映像。

問:如何開始使用 Amazon ECR?
開始使用 Amazon ECR 的最佳方法是使用 Docker CLI 來推送和提取您的第一個映像。如需詳細資訊,請參閱入門頁面。

問:是否可以在 VPC 內存取 Amazon ECR?
若要在 VPC 內使用 Amazon ECR,您的執行個體必須能夠與網際網路通訊。您可以使用 Amazon VPC NAT Gateway 進行此操作。

問:管理儲存庫和映像的最佳方法為何?
Amazon ECR 提供命令列界面和 API,以建立、監控和刪除儲存庫及設定儲存庫許可。您可以在 Amazon ECR 管理主控台執行相同的動作,從 Amazon ECS 主控台的 "Repositories" 部分可以存取該主控台。Amazon ECR 也與 Docker CLI 整合,允許您在開發機器上推送、提取和標記映像。

問:Amazon ECR 是否會跨區域複寫映像?
否。Amazon ECR 旨在為您提供映像存放位置及映像部署方式的彈性。您可以建立可建置映像的部署管道,將它們推送到選定區域的 Amazon ECR,然後將映像部署到 Docker 叢集。

問:是否可以在本機和現場部署環境內使用 Amazon ECR?
是。您可以在執行 Docker 的任何地方存取 Amazon ECR,如桌面和現場部署環境。

問:Amazon ECR 是否提供 Amazon Linux 容器映像?
是。Amazon ECR 提供 Amazon Linux 容器映像,而詳細的步驟可在論壇取得。客戶可以使用這些容器映像在他們以 Linux 為基礎的 Docker 環境中執行工作負載。此容器映像有最小的套件組,並能安裝完整的 Amazon Linux AMI 套件組。如同 EC2 中的 Amazon Linux AMI,Amazon Linux 容器映像將以安全更新、輪流發行及套件更新的形式從 Amazon 取得持續更新。

問:Amazon ECR 是否可以與 Amazon ECS 搭配使用?
是。Amazon ECR 已與 Amazon ECS 整合,讓您可輕鬆存放、執行及管理在 Amazon ECS 執行的應用程式容器映像。您只需在任務定義中指定 Amazon ECR 儲存庫,Amazon ECS 就會替應用程式擷取適合的映像。

問:Amazon ECR 是否可以與 AWS Elastic Beanstalk 搭配使用?
是。AWS Elastic Beanstalk 目前支援單一容器和多容器 Docker 環境的 Amazon ECR,讓您輕鬆地將存放於 Amazon ECR 的容器映像部署至 AWS Elastic Beanstalk。您只要在 Dockerrun.aws.json 組態中指定 Amazon ECR 儲存庫,並將 AmazonEC2ContainerRegistryReadOnly 政策連接至容器執行個體角色即可。

問:Amazon ECR 支援哪個 Docker Engine 版本?
Amazon ECR 目前支援 Docker Engine 1.7.0 及更新版本。

問:Amazon ECR 支援哪個 Docker Registry API 版本?
Amazon ECR 支援 Docker Registry V2 API 規格。

問:Amazon ECR 是否會自動從 Dockerfile 建置映像?
否。不過,Amazon ECR 與多個熱門的 CI/CD 解決方案整合,可提供此功能。如需詳細資訊,請參閱 Amazon ECR 合作夥伴頁面

問:Amazon ECR 是否支援聯合存取權?
是。Amazon ECR 已經與 AWS Identity and Access Management 整合,支援將存取權委派給 AWS 管理主控台或 AWS API 的聯合身分

問:Amazon ECR 支援哪個版本的 Docker Image Manifest 規格?
Amazon ECR 支援 Docker Image Manifest V2, Schema 2 格式。為了維持與 Schema 1 映像的回溯相容性,Amazon ECR 將持續接受以 Schema 1 格式上傳的映像。此外,使用舊版 Docker Engine (1.9 和更舊版本) 提取映像時,Amazon ECR 可以將 Schema 2 映像轉譯為 Schema 1 映像。

問:Amazon ECR 是否支援 Open Container Initiative (OCI) 格式?
是。Amazon ECR 與 Open Container Initiative (OCI) 映像規格相容,可讓您推送和提取 OCI 映像。提取映像時,Amazon ECR 還能在 Docker Image Manifest V2, Schema 2 映像和 OCI 映像之間進行轉譯。

問:Amazon ECR 如何協助確保容器映像的安全?
Amazon ECR 使用 S3 伺服器端加密自動加密靜態映像,並透過 HTTPS 傳輸容器映像。您可以使用 AWS Identity and Access Management (IAM) 使用者與角色來設定政策,以管理許可和控制映像的存取,而不必在 EC2 執行個體上直接管理登入資料。

問:如何將 AWS Identity and Access Management 用於許可?
您可以使用 IAM 以資源為基礎的政策,控制和監控可以存取容器映像的人員和項目 (如 EC2 執行個體),以及存取的方法、時間和位置。若要開始使用,請使用管理主控台為儲存庫建立以資源為基礎的政策。或者,可以使用範本政策,並透過 Amazon ECR CLI 將其連接至儲存庫。

問:是否可以跨 AWS 帳戶共用映像?
是。這個範例說明如何針對跨帳戶映像共用建立和設定政策。