Artifact Registry는 mirror.gcr.io에서 자주 액세스되는 공개 Docker Hub 이미지를 캐시합니다. 캐시된 공개 이미지를 사용할 수 있는 경우 Docker 데몬을 구성하여 이 이미지를 사용하거나 캐시된 사본을 사용할 수 없는 경우 Docker Hub에서 이미지를 가져올 수 있습니다.
Cloud Build 및 Google Kubernetes Engine과 같은 Google Cloud 서비스는 Docker Hub에서 이미지를 가져오기 전에 캐시된 이미지를 자동으로 확인합니다.
mirror.gcr.io에서 캐시된 이미지는 다음과 같습니다.
Google에서 관리하는 저장소에 저장됩니다.
Docker Hub 작동 중단으로부터 더욱 안전하게 보호됩니다.
Google Cloud 생태계와 쉽게 통합됩니다.
Docker Hub와 계속 동기화됩니다.
Docker 데몬 구성
Artifact Registry 캐시에서 이미지를 가져오도록 Docker 데몬을 구성하려면 다음 안내를 따르세요.
CLI
다음 방법 중 하나로 데몬을 구성합니다.
시작할 때 자동으로 Docker 데몬을 구성하려면 /etc/docker/daemon.json에 다음 값을 설정합니다.
Artifact Registry는 자주 요청되는 이미지를 나중에 요청에 사용할 수 있도록 캐시에 추가합니다. 더 이상 요청되지 않는 이미지도 주기적으로 삭제됩니다.
Artifact Registry 캐시를 사용하도록 Docker 데몬을 구성하면 Docker는 docker pull 명령어로 공개 Docker Hub 이미지를 가져올 때 다음 단계를 수행합니다.
Docker 데몬은 Artifact Registry 캐시를 확인하고 이미지가 있으면 가져옵니다. 데몬 구성에 다른 Docker 미러가 포함되어 있으면 데몬은 캐시된 이미지 복사본의 순서대로 각 미러를 확인합니다.
이미지를 발견하지 못하면 Docker 데몬은 Docker Hub의 정규 저장소에서 이미지를 가져옵니다.
캐시된 이미지를 가져오는 것은 Docker Hub 비율 제한에 포함되지 않습니다. 하지만 특정 이미지가 장시간 동안 캐시된 상태로 유지된다는 보장은 없습니다. Docker 데몬을 구성하여 mirror.gcr.io에서만 캐시된 이미지를 가져옵니다.
mirror.gcr.io에 캐시되지 않은 이미지에 대해 Docker Hub에 인증하려면 Artifact Registry 원격 저장소를 사용합니다. 원격 저장소는 Docker Hub 인증을 지원합니다. 공개 이미지만 사용하는 경우에도 다운로드 비율 제한이 증가하므로 Docker Hub에 인증하는 것이 좋습니다. Docker Hub 다운로드 비율 제한에 대한 자세한 내용은 Docker Hub 비율 제한을 참조하세요.
다음 단계
Artifact Registry 원격 저장소를 만들어 Docker Hub 이미지를 캐시할 수 있습니다.
자체 Docker 미러를 만들어 이미지를 캐시할 수 있습니다. 자세한 내용은 Docker 문서를 참조하세요.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-12-21(UTC)"],[[["\u003cp\u003eArtifact Registry caches frequently accessed public Docker Hub images on \u003ccode\u003emirror.gcr.io\u003c/code\u003e, allowing for faster access and increased insulation from Docker Hub outages.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Cloud services automatically prioritize checking for cached images on \u003ccode\u003emirror.gcr.io\u003c/code\u003e before pulling from Docker Hub.\u003c/p\u003e\n"],["\u003cp\u003eYou can configure your Docker daemon to utilize the Artifact Registry cache by modifying the \u003ccode\u003e/etc/docker/daemon.json\u003c/code\u003e file, using the \u003ccode\u003edockerd\u003c/code\u003e command, modifying \u003ccode\u003e/etc/default/docker\u003c/code\u003e, or using the Docker UI.\u003c/p\u003e\n"],["\u003cp\u003eWhen pulling a public Docker Hub image after configuring the cache, the Docker daemon will first check the \u003ccode\u003emirror.gcr.io\u003c/code\u003e cache, then any other configured mirrors, and lastly, Docker Hub itself.\u003c/p\u003e\n"],["\u003cp\u003ePulling images from the Artifact Registry cache on \u003ccode\u003emirror.gcr.io\u003c/code\u003e does not count against Docker Hub rate limits, and you can use remote repositories for images not in the cache.\u003c/p\u003e\n"]]],[],null,["# Pull cached Docker Hub images\n\nArtifact Registry caches frequently-accessed public Docker Hub images on\n`mirror.gcr.io`. You can configure the Docker daemon to use a cached public\nimage if one is available, or pull the image from Docker Hub if a cached copy\nis unavailable.\nGoogle Cloud services such as Cloud Build and Google Kubernetes Engine automatically check for cached images before attempting to pull an image from Docker Hub.\n\nCached images at `mirror.gcr.io` are:\n\n- Stored in a repository managed by Google Cloud.\n- More insulated from Docker Hub outages.\n- Integrated with the Google Cloud ecosystem.\n- Kept in sync with Docker Hub.\n\nConfiguring the Docker daemon\n-----------------------------\n\nTo configure your Docker daemon to pull images from the Artifact Registry\ncache: \n\n### CLI\n\n1. Configure the daemon in one of the following ways:\n\n - To configure the Docker daemon automatically on startup, set\n the following value in `/etc/docker/daemon.json`\n\n {\n \"registry-mirrors\": [\"https://mirror.gcr.io\"]\n }\n\n - When you start the daemon, pass in the Artifact Registry\n hostname:\n\n dockerd --registry-mirror=https://mirror.gcr.io\n\n - Add the following line to your `/etc/default/docker` file:\n\n DOCKER_OPTS=\"${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io\"\n\n2. Restart the Docker daemon.\n\n - On Linux, run one of the following commands:\n\n sudo service docker restart\n\n or \n\n sudo service docker stop && sudo service docker start\n\n - On macOS or Windows, run the following command:\n\n docker-machine restart\n\n### Docker UI\n\n1. Open Docker's **Preferences** menu.\n2. Click **Daemon**.\n3. Click **Advanced** . In the JSON field, add a `registry-mirrors` key with\n `https://mirror.gcr.io` as a value:\n\n {\n \"registry-mirrors\" : [\n \"https://mirror.gcr.io\"\n ]\n }\n\n4. Click **Apply \\& Restart**.\n\nTo verify that the cache is correctly configured, run: \n\n docker system info\n\nThe output should include `Registry Mirrors`, and should look similar to\nthe following: \n\n Containers: 2\n Running: 0\n Paused: 0\n Stopped: 2\n Images: 2\n Server Version: 17.03.1-ce\n Storage Driver: overlay2\n Backing Filesystem: extfs\n Supports d_type: true\n Native Overlay Diff: true\n Logging Driver: json-file\n ...\n Registry Mirrors:\n https://mirror.gcr.io\n\nPulling cached images\n---------------------\n\nArtifact Registry adds frequently requested images to the cache\nso they are available for future requests. It also periodically removes images\nthat are no longer requested.\n\nAfter you configure the Docker daemon to use the Artifact Registry cache,\nDocker performs the following steps when you pull a public Docker Hub image\nwith a `docker pull` command:\n\n1. The Docker daemon checks the Artifact Registry cache and fetches the images if it exists. If your daemon configuration includes other Docker mirrors, the daemon checks each one in order for a cached copy of the image.\n2. If the image still isn't found, the Docker daemon fetches the image from the canonical repository on Docker Hub.\n\nPulling cached images does not count against Docker Hub rate limits. However,\nthere is no guarantee that a particular image will remain cached for an extended\nperiod of time. Only obtain cached images on `mirror.gcr.io` by\n[configuring the Docker daemon](#configure).\n\nTo authenticate to Docker Hub for images that aren't cached on `mirror.gcr.io`,\nuse Artifact Registry [remote repositories](/artifact-registry/docs/repositories/remote-overview). Remote\nrepositories support authentication to Docker Hub. We recommend authenticating\nto Docker Hub even if you are only using public images, as it will increase your\ndownload rate limit. For more information on Docker Hub download rate limits,\nsee [Docker Hub rate limit](https://docs.docker.com/docker-hub/download-rate-limit/).\n\nWhat's next\n-----------\n\n- You can create Artifact Registry [remote repositories](/artifact-registry/docs/repositories/remote-overview) to cache Docker Hub images.\n- You can create your own local Docker mirrors to cache images. For details, see the [Docker documentation](https://docs.docker.com/registry/recipes/mirror/).\n- Read the [Docker Hub documentation](https://docs.docker.com/docker-hub/)."]]