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에 잘 업로드 된 것을 확인할 수 있다.
'Cloud Side > Container > Docker' 카테고리의 다른 글
[Docker] 명령어 모음 (0) | 2022.08.10 |
---|---|
[Docker] 도커 물음표 아이콘 해결방법 - Docker.app 응용 프로그램이 손상되었거나 완전하지 않기 때문에 열 수 없습니다. (0) | 2022.07.21 |
[Docker] 컨테이너 안에서 다른 컨테이너 접속하기 with.docker-compose (0) | 2022.06.22 |
[Docker] Compose 생성하면 container? app! (0) | 2022.06.15 |
[Docker] Error response from daemon: dial unix docker.raw.sock: connection refused 오류 해결 (0) | 2022.02.06 |
댓글