Docker 미러 속도 테스트 및 설정 생성기

Docker Registry V2 pull 가능 여부를 실제로 검증하고 현재 네트워크 지연 시간 순으로 정렬해 바로 쓸 수 있는 설정을 생성합니다.

0
검사 수
0
바로 사용 가능
0
조건부 사용
0
사용 불가
—
현재 네트워크 최저 지연
—
프로토콜 검사 시간
검사 중…
i
프로토콜 검증은 17NAS 프로브 노드(미국 세인트루이스)에서 수행하며 "이 미러가 이미지를 내려줄 수 있는가"만 판정합니다. 지연 항목의 내 회선 값은 사용자의 브라우저가 직접 측정한 것이고, 정렬과 생성되는 설정도 이 값을 따릅니다. 일부 미러는 지역별로 제한하거나 차단하므로 미국 노드에서 429 / 403이 나왔다고 해서 사용자 환경에서 못 쓰는 것은 아닙니다.

내 미러 임시 추가

호스트명만 입력할 수 있습니다(포트 가능). 저장되지 않으며 1회 최대 3개입니다. 내부망 스캐너로 악용되지 않도록 사설 주소로 해석되는 호스트명은 거부합니다.

이번 무료 테스트에서는 사용자 미러를 최대 3개 추가할 수 있습니다. 17NAS를 후원하면 Docker 도구의 지속적인 유지 관리와 개선에 도움이 됩니다.

바로 사용할 수 있는 미러

아직 결과가 없습니다. 위의 "테스트 시작"을 눌러 주세요.

이 미러들은 살아 있습니다. docker login이 먼저 필요한 것, 지금 제한이 걸린 것, 저희 프로브 노드를 지역으로 제한하는 것이 섞여 있습니다. 아래 자동 생성 설정에는 포함되지 않지만 사용자의 네트워크에서는 잘 동작할 수 있습니다.

호스트명이 해석·연결되지 않거나, 연결은 되지만 매니페스트 대신 웹 페이지를 돌려주는 경우입니다. 후자가 함정인데, 브라우저에서는 멀쩡해 보여도 docker pull은 반드시 실패합니다. 조용히 지우지 않고 여기에 그대로 남겨 둡니다.

설정 자동 생성

/etc/docker/daemon.json



            
i
적용 방법
  1. 내용을 다음 파일에 저장: /etc/docker/daemon.json
  2. Docker 서비스를 재시작: sudo systemctl restart docker
  3. 적용 여부 확인: docker info | grep -i registry
i
적용 방법
  1. 디렉터리 생성: sudo mkdir -p /etc/containerd/certs.d/docker.io
  2. 위 내용을 해당 디렉터리에 다음 이름으로 저장: hosts.toml
  3. containerd 재시작: sudo systemctl restart containerd
i
1Panel / DPanel Docker 미러 설정 방법

패널이 한 줄에 하나의 미러 주소를 입력하는 형식을 지원한다면 위의 1Panel / DPanel 탭으로 전환해 이번 테스트로 생성된 목록을 복사하세요.

!
이번 회차에서 "바로 사용 가능"으로 판정되고 사용자의 브라우저에서 접속된 미러만 최대 5개, 지연 시간이 빠른 순으로 담았습니다. Docker는 위에서부터 차례로 시도하므로 2~3개를 넣어 두는 편이 안정적입니다. 로그인이 필요한 미러는 빠져 있으니 docker login 후 직접 추가하세요.

검사는 두 갈래입니다. 프로토콜 검증은 17NAS 프로브 노드에서 수행합니다. 먼저 /v2/를 요청하고, 401 + WWW-Authenticate: Bearer가 오면 Docker 표준 절차대로 익명 토큰을 받은 뒤 그 토큰으로 library/alpine:latest의 매니페스트를 가져오고, 마지막으로 응답이 정말 매니페스트인지(Docker-Content-Digest 헤더와 미디어 타입으로) 확인합니다. 지연 시간은 사용자의 브라우저가 각 /v2/를 세 번 호출해 중앙값을 취합니다. 이것이 실제 체감 속도이므로 정렬과 추천은 이 값을 따릅니다.

여섯 가지 상태의 의미

  • 바로 사용 가능 — 익명으로 실제 매니페스트를 받았습니다. 설정에 넣기만 하면 됩니다.
  • 로그인 필요 — 미러는 살아 있지만 먼저 docker login이 필요합니다. 클라우드 사업자의 전용 가속 미러는 대부분 여기에 해당합니다.
  • 요청 제한됨 — 짧은 시간에 요청이 많아 차단되었습니다(HTTP 429). 일시적이니 잠시 후 다시 시도하세요.
  • 접근 제한 — 미러가 저희 프로브 노드를 명시적으로 거부했습니다(HTTP 403). 캠퍼스망·사내망·지역 제한 미러에서 흔하며, 해당 네트워크에서는 정상 동작할 수 있습니다.
  • 레지스트리 아님 — 연결은 되지만 웹 페이지를 돌려주거나, 이미지가 없거나, 엉뚱한 곳으로 리다이렉트합니다. HTTP 상태 코드만 보는 도구는 이런 것을 "사용 가능"으로 판정하지만, daemon.json에 넣으면 docker pull은 반드시 실패합니다.
  • 연결 불가 — 호스트명의 DNS 레코드가 없거나 연결·TLS 핸드셰이크가 실패합니다. 공개 미러는 서비스를 접을 때 DNS부터 내리는 경우가 많으니 이 그룹은 즐겨찾기에서 지워도 됩니다.

로그인이 필요한 미러 설정법

먼저 docker login <미러 호스트명>으로 제공처가 준 자격 증명을 입력하세요. 인증 정보는 ~/.docker/config.json에 저장됩니다. 그다음 호스트명을 registry-mirrors에 직접 추가하면 됩니다. 이 파일의 자격 증명은 암호화가 아니라 base64 인코딩일 뿐이니, 백업과 함께 공개 저장소에 올리지 마세요.

!
공개 미러는 부침이 심해서 오늘 되던 것이 다음 주에 사라지기도 합니다. 이 결과는 지금 이 시점만을 나타냅니다. 예비 미러를 2~3개 설정해 두고, pull이 느려지거나 실패하면 여기서 다시 측정하세요. 또한 내 회선 지연은 브라우저 왕복 시간이며 TLS 핸드셰이크와 브라우저 보안 정책의 영향을 받습니다. 미러 간 비교용이지 docker pull의 실제 대역폭은 아닙니다.

관련 도구