y-ohgi's blog

TODO: ここになにかかく

ECR からDocker Hub のオフィシャルイメージを使用する

TL;DR

  • 今年のre:Invent で発表されたECR の機能
  • Docker Hub のオフィシャルイメージをECR 経由でPull できるようになる
  • Cloud Build のIP 制限が回避できる

About

ECR からDocker Hub のイメージをpull できるようになりました。
Docker Official Images now available on Amazon Elastic Container Registry Public | Containers

このDocker Hub イメージはAWS 内からのpull (Cloud Build でのpull やECS/EKS のサイドカーなど)は無制限で使用できます。
AWS の外部からの場合は500GB までpull が可能です。また、AWS の認証を行った場合は5TB まで$0.09/GB でpull が可能です。

Usage

以下のURL からイメージを探すことが可能です。
https://gallery.ecr.aws/docker

node のイメージを試す

例えばnode のオフィシャルイメージであれば以下のURL で閲覧することができます。
ECR Public Gallery - Docker/library/node
タグを見てみるとDocker Hub と遜色ない(すべて揃ってそう?)ようにみえます。
x86 のイメージだけではなくARM のイメージがあるのも嬉しいですね。

試しにDocker Hub とECR からpull したイメージを比較してみます

$ docker pull public.ecr.aws/docker/library/node:latest
$ docker pull node:latest

$ diff <(docker history public.ecr.aws/docker/library/node:latest) <(docker history node:latest)
$

$ diff <(docker inspect public.ecr.aws/docker/library/node:latest) <(docker inspect node:latest)
$ 

単純に比較しただけだと同じものを使っているようですね。

所感

Code Build で安易にbuild できるようになったのは良いですね。
嬉しいアップデートで、積極的に使っていきたい機能です。