레지스트리 이름을 지정하지 않고 내 레지스트리에서 이미지를 찾도록 docker를 구성할 수 있나요?

레지스트리 이름을 지정하지 않고 내 레지스트리에서 이미지를 찾도록 docker를 구성할 수 있나요?

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.

여기에는 두 가지 주의사항이 있습니다.

  1. 레지스트리 미러가 먼저 폴링된 다음 오류 발생 시 이미지에 대해 업스트림 Docker 허브가 폴링됩니다. 미러가 불량하거나 오래된 이미지로 응답하면 Docker 엔진은 이를 기꺼이 사용할 것입니다.

  2. 저장소 접두사가 없는 이미지는 docker 라이브러리에서 가져 오며 mydockerregistry.com/library/hellodocker. mydockerregistry.com/hellodocker따라서 다음을 수행해야 합니다.

    docker tag hellodocker:latest mydockerregistry.com/library/hellodocker:latest
    docker push mydockerregistry.com/library/hellodocker:latest
    

다음에서 유용할 수 있는 미러링 및 캐싱을 다루는 프레젠테이션을 준비했습니다.

관련 정보