AWS ECR Public
ECR(Elastic Container Registry)
公有镜像仓库是AWS reInvent 2020
新发布的功能。之前ECR只支持私有仓库,现在用户能够上传公有镜像供他人下载使用。可将其理解为和docker hub一样的功能。
公有镜像仓库地址
AWS ECR公有镜像仓库地址:https://gallery.ecr.aws/,目前里面共有1000多个镜像。
发布公有镜像
在ECR console创建一个公有仓库过程如下:
在创建存储库时,可同时上传仓库的logo、添加描述等:
在About
和Usage
模块,支持输入markdown语法的介绍:
创建完成后,在界面里能够看到这个公有镜像仓库。在旁边有按钮可以查看推送指令
:
推送过程也很简单:首先进行ECR登录认证,然后就是build、tag、push老三样。
为了方便,这里我将直接将redis镜像推送上去:
上传成功后,在ECR公共仓库里能搜索到这个镜像,现在任何人都可以下载并运行。
拉取公有镜像
在ECR public gallery
里找到镜像地址,:
此时,我在另一台电脑上执行:
docker pull public.ecr.aws/f3s7a1p8/pingfan:latest
#拉取下来镜像后,启动容器:
docker run public.ecr.aws/f3s7a1p8/pingfan:latest
上面这个容器成功启动了redis服务。
写在最后
-
为了高可用,ECR公有仓库的镜像存储在两个region。
-
另外,在拉取镜像时使用了CloudFront,所以一些热门镜像的拉取速度绝对有保证。
-
ECR公有镜像可以与其他AWS服务集成。例如,当上传完公有镜像时通知
CodeBuild
价格分为存储费用和流量费用两部分,详情见https://aws.amazon.com/ecr/pricing/?nc1=h_ls
-
存储。存储小于50GB时免费,超出部分按0.1$/GB每月收费。
-
流量费用没看太懂。超出500GB部分收费。
点评:
不收费我就不叫AWS,连公有镜像都敢收你钱。