본문 바로가기
Cloud Side/Container > Docker

[Docker] Hub push error 해결

by developerBeluga 2022. 6. 13.
728x90
반응형

 

Docker Hub에 push를 할려고 하는데 2가지 오류를 만나게 되었다.

결국 해결하여 솔루션에 대해 공유하기 위해 포스팅 시작합니다.

문제 해결을 하고 싶은 분들은 2번부터 보시면 됩니다.

 

1. An image does not exist locally with the tag

우선 왜 이 녀석을 만났는지 말하자면 docker hub에 레포를 생성한 후에 그 아래에 있는 커맨드가 나온다.

예시

나온 커맨드를 그대로 가져다 쳐봤지만 존재하지 않는다는 오류 메시지만 나왔다.

도대체 무엇이 문제인지는 다른 사람들의 글을 보다가 눈치채게 되었다.

 

docker images 명령어를 이용해서 이미지를 불러오면 만들어놓은 이미지를 볼 수 있다.

근데 여기에서 주목해야 하는 점은 레포(Repository)의 이름이다!

눈치껏 레포 이름이랑 해당 커맨드의 이름이 달라서 그렇구나라고 생각해서

 

// 수정 전
docker push kibm63/deocker-example:latest

// 수정 후
docker push deocker-example:latest

이런식으로 Docker id를 제거했다.

 

 

2. denied: requested access to the resource is denied

그랬더니 새로운 에러가 나타났다.

권한과 관련된 에러인데 원인이 2가지라고 한다.

1. Docker Hub 로그인을 하지 않았다.

2. Docker Hub 아이디와 태그된 이미지의 이름이 일치하지 않는다.

 

먼저 Docker Hub 로그인은 

docker login

위 코드를 쳤을 때 안되어져 있으면 username과 password를 입력하게 된다.

로그인이 이미 되어져 있는 경우는 'Login Succeeded'가 나온다.

하지만 내 경우에는 로그인이 이미 되어 있음에도 안된 경우였다.

 

그렇다면 두번째라는 것인데 결국에 내가 찾아낸 방법은

이미지 이름과  Hub 레포 이름이 같게 해주는 것이었다.

//docker tag <원래 이미지 이름> <Hub 레포 이름과 동일한 이름으로>
docker tag mongo kibm63/mongo

위 코드처럼 tag를 이용해서 레포 이름을 id까지 붙여서 만들어주면 된다.

 

그렇게 해주면 새로운 이미지가 생성된다.

 

docker push kibm63/mongo

다시 push를 해주면 Hub에 잘 업로드 된 것을 확인할 수 있다.

 

 

 

 

 

 

728x90
반응형

댓글