내맘대로 개발 일기/뽀모로 Do!

[Troubleshooting] GitHub Actions에서 발생한 "denied: requested access to the resource is denied" 오류 해결하기

bu119 2024. 6. 29. 22:00
728x90
반응형

 

"denied: requested access to the resource is denied"라는 오류 메시지는 Docker Hub에 이미지를 푸시할 때 권한 문제가 발생했음을 나타낸다. 이는 로그인 자격 증명이 잘못되었거나 저장소에 대한 권한이 부족할 때 발생할 수 있다.

 

이 문제를 해결하기 위해 다음 단계를 수행해야한다.

 

1. Docker Hub 로그인 확인

Docker Hub에 올바른 자격 증명으로 로그인했는지 확인한다.

docker login

로그인하면 Docker Hub 사용자 이름과 비밀번호를 입력하라는 메시지가 표시된다.

 

2. 저장소 이름 확인

docker push 명령에서 저장소 이름이 올바른지 확인한다.

예를 들어, Docker Hub 사용자 이름이 tico인 경우 명령은 다음과 같아야 한다.

docker push tico/nginx

 

3. 권한 확인

저장소에 푸시할 수 있는 권한이 있는지 확인한다.

저장소가 비공개이거나 조직에 속한 경우 적절한 권한이 필요하다.

 

트러블슈팅

문제

도커 이미지 이름을 "팀(회사)명/nginx"로 설정했다.

하지만 Docker Hub에 이미지를 푸시할 때 권한 오류가 발생했다.

 

원인

Docker Hub에 이미지를 푸시할 때 사용자 이름을 이미지 이름 앞에 두어야한다.

사용자 이름이 없으면 Docker Hub는 어느 사용자나 조직의 저장소에 이미지를 푸시할지 알 수 없다.

 

해결 방법

도커 이미지 이름을 "도커 허브 사용자명/nginx"로 설정해야 한다.

 

해결 방법

1. Docker Hub 로그인

Log in to Docker Hub 단계에서 Docker Hub 사용자 이름과 비밀번호를 입력하여 로그인에 성공했다.

Logging into Docker Hub...

Login Succeeded!

 

2. 도커 이미지 이름 변경

이미지를 빌드할 때 Docker Hub 사용자 이름을 포함하도록 태그를 수정한다.

docker build -t 도커허브사용자명/nginx:latest .
 

3. 도커 이미지 푸시

사용자 이름을 포함한 이미지 이름으로 Docker Hub에 이미지를 푸시한다.

docker push 도커허브사용자명/nginx:latest

 

해결 코드

#!/usr/bin/env bash
set -e  # 명령 실패 시 스크립트 종료

# nginx 디렉토리로 이동
cd nginx

# Docker 이미지 빌드
docker build -t $DOCKER_USERNAME/nginx:latest .

# Docker Hub에 이미지 푸시
docker push $DOCKER_USERNAME/nginx:latest

 

이전 코드

# nginx 디렉토리로 이동
cd nginx

#!/usr/bin/env bash
set -e  # 명령 실패 시 스크립트 종료

# Docker 이미지 빌드
docker build -t tico/nginx:latest .

# Docker Hub에 이미지 푸시
docker push tico/nginx:latest
728x90
반응형