본문 바로가기

STUDY/Docker & Kubernetes: 실전 가이드 -2022년판

5. Docker Hub로 이미지 push/pull, 사용하기

도커 이미지 공유하기

 

도커의 이미지에는 어플리케이션 파일과 시스템 설정, 도구, 패키지와 같은 실행에 필요한 모든 것이 갖추어져있는 소프트웨어 패키지이다. 만들어진 도커 이미지는 동료들이나 서버에 공유하여 사용한다. 이때 도커를 공유하는 방식은 두가지 생각해 볼 수 있다. 먼저 Dockerfile 소스를 공유하는 것이다. Dockerfile을 공유하고 이를 빌드하면 이미지가 만들어지기 때문에 이미지를 공유하는 것과 비슷한 효과이다. 하지만 Dockerfile을 빌드하는 과정이 추가적으로 필요하고, 빌드를 위해 필요한 로컬 파일이나 소스가 있다면 함께 공유해야한다는 단점이 있다. 그래서 두번째 방법인 도커 이미지를 공유하는 것이 일반적이다. 도커 이미지를 공유하면 빌드할 필요없이 바로 사용할 수 있고 부가적인 파일 공유도 필요 없다.

 

 


도커 허브, 개인 레지스트리

 

도커 이미지를 공유하는 장소는 두가지로 볼 수 있다. 도커 허브와 개인 레지스트리다. 도커 허브는 공개된 이미지 저장소로서 누구나 회원가입하고 사용 할 수 있다. 사용자는 도커 허브에 public/private로 이미지를 업로드 할 수 있다. 그리고 도커 허브에는 official 이미지도 볼 수 있는데, 이는 node나 python 처럼 많은사람들이 사용하는 공식적으로 검증된 이미지를 말한다. 개인 레지스트리는 비공개로 구축한 이미지 저장소이다. 이미지와 사용자의 접근 정책 들을 세세하게 관리 할 수 있다. 실제 업무에서는 개인 레지스트리를 주로 사용한다.

 

 


docker push

 

> docker build -t {docker hub id}/{registry name}:{tag name}
> docker login
...
> docker push {docker hub id}/{registry name}:{tag name}

도커 이미지를 도커허브에 업로드 하려면 업로드할 이미지를 준비해야 한다. 도커 허브에 이미지를 업로드 하려면 빌드할 때 -t 옵션으로 {docker hub id}/{registry name}를 이름으로 지정해야 한다. 그리고 바로 업로드를 하려고 하면 권한 문제로 실패하기 때문에 docker login 명령어로 도커 허브에 로그인 해야 한다. 그리고 docker push로 아까 빌드한 이미지를 업로드 할 수 있다.

 

 

 


docker pull

 

> docker prune -a
> docker images
...
아까 빌드하고 도커허브에 올린 이미지가 없는 것 확인
...
> docker pull {아까 빌드하고 도커허브에 올린 이미지}
> docker images
...
아까 빌드하고 도커허브에 올린 이미지가 다시 생긴 것 확인
...

도커 허브에 업로드한 이미지를 가져올 때는 docker pull 명령어를 사용하면 된다. 이미지를 삭제하고나서 docker pull로 다시 받아오면 이미지가 다시 생긴 것을 확인할 수 있다.

728x90