Docker 레지스트리를 설정하고 hellodocker
거기에 호출된 프로젝트를 푸시했습니다. 다른 컴퓨터에서 내 레지스트리에 로그인했지만 가져오려고 하면 전체 이름을 사용해야 합니다: mydockerregistry.com/hellodocker
.
찾을 수 없는 이미지를 다운로드할 수 있는 장소로 내 레지스트리를 포함하도록 Docker를 구성하는 방법이 있습니까?
답변1
이 목적으로는 권장하지 않지만 레지스트리 미러 설정을 사용하여 Docker 엔진을 구성할 수 있습니다. CLI에서는 dockerd
이것이 플래그입니다 --registry-mirror
. 또는 /etc/docker/daemon.json에서 다음을 설정할 수 있습니다.
{ "registry-mirrors": ["https://mydockerregistry.com"] }
daemon.json을 구성할 때 변경 사항을 적용한 후 Docker 엔진을 다시 로드해야 합니다. 데스크탑 GUI에서는 화면에 표시되는 옵션입니다. Linux에서는 systemctl reload docker
.
여기에는 두 가지 주의사항이 있습니다.
레지스트리 미러가 먼저 폴링된 다음 오류 발생 시 이미지에 대해 업스트림 Docker 허브가 폴링됩니다. 미러가 불량하거나 오래된 이미지로 응답하면 Docker 엔진은 이를 기꺼이 사용할 것입니다.
저장소 접두사가 없는 이미지는 docker 라이브러리에서 가져 오며
mydockerregistry.com/library/hellodocker
.mydockerregistry.com/hellodocker
따라서 다음을 수행해야 합니다.docker tag hellodocker:latest mydockerregistry.com/library/hellodocker:latest docker push mydockerregistry.com/library/hellodocker:latest
다음에서 유용할 수 있는 미러링 및 캐싱을 다루는 프레젠테이션을 준비했습니다.