Watch at Ease세상을 읽고, 일상의 답을 찾다.

기술 · 실용 가이드

Docker no matching manifest: 아키텍처를 강제하기 전에 요청 플랫폼을 증명하세요

host 또는 override 요청을 tag의 불변 image index, OS, architecture, variant와 연결한 뒤 digest 고정, 재게시 또는 emulation을 선택합니다.

원본 일러스트: Docker no matching manifest: 아키텍처를 강제하기 전에 요청 플랫폼을 증명하세요
원본 일러스트: “No matching manifest”는 실제 platform 요청과 호환되는 descriptor가 image index에 없다는 뜻입니다. 노트북이 잘못됐거나 `--platform linux/amd64`가 안전하다는 증거는 아닙니다. 먼저 매칭 양쪽을 보존하세요. Watch at Ease

“No matching manifest”는 실제 platform 요청과 호환되는 descriptor가 image index에 없다는 뜻입니다. 노트북이 잘못됐거나 `--platform linux/amd64`가 안전하다는 증거는 아닙니다. 먼저 매칭 양쪽을 보존하세요.

정확한 요청과 image 참조를 고정한다

실패 명령, 전체 오류, image 참조, Docker/Compose 버전, active context, client/daemon architecture와 모든 platform override를 저장합니다. 정확한 tag 또는 digest를 보존하고 아직 `--platform`을 추가하지 마세요.

불변 index를 검사한다

실제 registry 참조에 index inspection을 실행해 media type, index digest, 모든 descriptor의 digest, OS, architecture, variant를 기록합니다. 단일 manifest로 해석되는 경우도 기록하세요.

요청을 descriptor에 연결한다

실제 요청 tuple을 descriptor와 정확히 비교합니다. `linux/amd64`는 `linux/arm64`와 다르고 arm variant도 중요합니다. unknown-platform attestation은 실행 가능한 variant가 아닙니다. publisher 누락과 context나 policy가 바꾼 요청을 구분하세요.

소유권에 맞는 해결책을 선택한다

native descriptor가 있으면 digest를 고정하거나 오래된 선택 정책을 수정합니다. 자체 image에 variant가 없으면 해당 platform을 build해 완전한 index를 게시합니다. 이종 architecture가 의도라면 emulation을 명시하고 시험하며, 지원 variant가 없으면 호환 tag를 선택합니다.

배포를 검토한 bytes에 묶는다

선택한 platform-specific digest와 필요시 parent index digest를 기록합니다. Compose, CI, deployment policy에 platform 선택을 드러냅니다. tag는 이동할 수 있으므로 tag 변경만으로 영구 수정이라 하지 마세요.

runtime architecture와 반복성을 증명한다

clean cache에서 pull하고 digest와 architecture를 검사한 뒤 workload의 machine architecture와 health를 확인합니다. 모든 지원 host에서 반복하고 digest drift, 암묵 emulation, rollout 중 index 변경이 보이면 중단하세요.

원본 일러스트: 소유권에 맞는 해결책을 선택한다
원본 일러스트: native descriptor가 있으면 digest를 고정하거나 오래된 선택 정책을 수정합니다. 자체 image에 variant가 없으면 해당 platform을 build해 완전한 index를 게시합니다. 이종 architecture가 의도라면 emulation을 명시하고 시험하며, 지원 variant가 없으면 호환 tag를 선택합니다. Watch at Ease