기술 · 실용 가이드
PowerShell Docker의 invalid reference format? 실제 이미지 인자부터 찾기
마운트·줄 연결이 깨지면 다른 값이 이미지 자리에 들어갈 수 있습니다. 이름 변경·삭제 전 셸 버전과 인자 경계를 확인하세요.

이 오류는 의도한 이미지 이름이 잘못됐다는 증거가 아니다. docker run은 옵션·이미지·컨테이너 명령 순서다. PowerShell 따옴표나 줄 연결 오류가 다른 값을 이미지 위치로 보낼 수 있다.
셸과 실행 파일 식별
실패 세션에서 $PSVersionTable.PSVersion, Get-Command docker -All을 기록하고 7.3 이후에는 $PSNativeCommandArgumentPassing도 확인한다. 5.1과 신버전은 다르며 변수가 없다고 Standard는 아니다.
줄바꿈을 유지한 비밀 제거 명령과 전체 오류를 보관한다. PowerShell의 -v 미인식과 Docker 파싱을 구분한다. 전체 환경·암호·레지스트리 자격을 공개하지 않는다.
실행하지 않고 이미지 위치 표시
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]로 각 옵션과 값을 짝짓는다. 마운트가 분리되면 잔여 값이 IMAGE가 될 수 있다. IMAGE 뒤 플래그는 보통 컨테이너 명령에 전달된다.
비실행 예 $image = 'example.com/team/app:Release_1', $dockerArgs = @('run','--rm',$image)를 항목별로 본다. 가상 이름은 문법용이며 실제 이미지가 아니다. 비밀 없는 원래 옵션·값을 개별 추가한다. 출력하려고 docker를 실행하지 말고 배열을 실제 수신 증거로 간주하지 않는다.
현재 PowerShell에 맞게 인용 재구성
최소 한 줄을 직접 입력한다. PowerShell 백틱 뒤 공백은 줄 연결을 깨며 Bash 역슬래시·cmd.exe 캐럿은 대체품이 아니다. 공백 포함 인자 전체를 묶는다.
공식 7.3 문서는 Legacy·Standard·Windows 차이를 설명한다. 먼저 전역 모드를 바꾸지 않는다. --%는 일반 변수 확장을 제한하고 줄바꿈·파이프에서 끝나 동적 경로의 만능 수리가 아니다. .cmd 경유는 파싱 단계를 늘린다.
참조 확인 후 원래 작업 검증
실제 이미지 값을 게시자 원문과 비교한다. 저장소 경로는 슬래시와 소문자 규칙을 쓰지만 태그는 별도 규칙으로 대문자도 허용한다. 전체 소문자화·태그 변경·다이제스트 삭제로 덮지 않는다.
불명확하면 같은 셸·래퍼에서 비밀 없는 합성 값을 신뢰할 수 있는 인자 검사기에 전달한다. 공식 예는 TestExe다. 그 뒤 승인된 원래 작업과 결과를 확인한다. 파싱 성공은 마운트·인증·앱 건강 증명이 아니다. Windows 실측이나 컨테이너 실행은 하지 않았으며 데이터 삭제도 분리 문제를 고치지 못한다.
