새 서비스의 GitHub Actions 워크플로를 다른 저장소에서 복사해 만들었습니다. 레지스트리 로그인 단계는 성공으로 끝나는데, 이미지 push 단계가 매번 거부됩니다. 원래 저장소의 워크플로는 이미지 이름을 변수로 조립했는데, 새 저장소에서는 알아보기 쉽게 이름을 직접 적었습니다. 팀원은 토큰 권한이 모자란 것 같다며 조직 관리자에게 권한을 더 달라고 요청하려 합니다. 이미지 빌드 단계는 문제없이 끝나고, 빌드한 이미지도 러너 안에 잘 만들어져 있습니다. 워크플로에는 GITHUB_TOKEN으로 로그인하도록 되어 있습니다.
레지스트리 로그인은 성공했는데 docker push가 denied
새 서비스의 GitHub Actions 워크플로를 다른 저장소에서 복사해 만들었습니다.
시나리오
단서
Run docker/login-action@v3 (registry: ghcr.io) Login Succeeded! Run docker build -t new-service:1.0.0 . ... Run docker push new-service:1.0.0 The push refers to repository [docker.io/library/new-service] denied: requested access to the resource is denied
IMAGE=ghcr.io/${{ github.repository_owner }}/api
docker build -t $IMAGE:${{ github.sha }} .과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.
구독하면 이어서 볼 수 있어요
이 문제의 전체 시나리오와 점검 체크리스트, 복구 순서, 모범 풀이는 Pro 구독에서 열립니다.
먼저 볼 것
- 이미지 이름이 어느 레지스트리를 가리키는지
- 로그인한 곳과 push하는 곳이 같은지
점검 체크리스트
- push 출력의 'The push refers to repository [...]'
- 로그인한 레지스트리 주소
- 이미지 태그에 레지스트리 호스트와 조직 이름이 들어 있는지
복구와 재발 방지
같이 보면 좋은 질문
현장에서 본 비슷한 케이스
0/10