[Docker] 도커 허브 저장소에 이미지 배포하기

2022. 11. 5. 02:00Backend/Docker

728x90
반응형
 

도커 이미지를 생성하고 추출하기

도커 허브 저장소에 이미지 배포하기 [Backend/Docker] - 도커 이미지를 생성하고 추출하기 이미지 배포 save, export와 같은 방법의 단점 save나 export와 같은 방법으로 이미지를 단일 파일로 추출해서 배

e-juhee.tistory.com

 

 

이미지 배포

save, export와 같은 방법의 단점
saveexport와 같은 방법으로 이미지를 단일 파일로 추출해서 배포할 수도 있지만
이미지 파일의 크기가 너무 크거나 도커 엔진의 수가 많다면 이미지를 파일로 배포하기 어렵다.
또한, 도커의 이미지 구조인 레이어 형태를 이용하지 않으므로 매우 비효율적이다.

 

도커 허브 이미지 저장소

  • 도커 허브는 도커 이미지를 저장하기 위한 클라우드 서비스이다.
  • 만든 이미지를 다른 사용자에게 공개해도 상관없다면 공개(Public) 저장소를 무료로 사용할 수 있다.

 

1. 도커 허브에 배포하기

1. 이미지 저장소(Repository) 생성

계정 이름이 저장소 이름으로 사용된다. 신중하게 만들쟈..😳

 

  • 가입 시 입력한 이메일로 인증 메일이 온다. 파란 버튼 ㄱㄱ
  • 헤더의 [Repository] 클릭

 

  • [Create Repository]

 

  • 이미지 이름, 설명 입력 > 공개 여부 선택 > [Create]

Visibility 공개 여부

  • Public 다른 사용자가 docker searchpull명령어로 이미지를 사용할 수 있다.
  • Private 저장소의 접근 권한이 있는 계정으로 로그인해야 저장소를 사용할 수 있다.
  • 비공개로 설정한 저장소는 접근 권한을 가진 계정(Collaborator)만 이미지를 내려받을 수 있다.
  • Collaborator로 추가된 사용자는 저장소의 공개 여부에 상관없이 이미지를 저장소에 push 할 수 있다.

 

 

 

2. 저장소에 이미지 올리기

  • 저장소에 올릴 테스트 이미지를 생성한다.

💡 특정 이름의 저장소에 이미지를 올리려면 저장소 이름(사용자 이름)을 이미지 앞에 접두어로 추가해야 한다.

 

 

  • docker tag 명령어를 사용해서 이미지의 이름을 추가한다.
docker tag [기존 이미지 이름] [새롭게 생성할 이미지 이름]

 

 

  • 도커 허브 서버에 로그인한다. (회원가입 시 사용한 아이디/비밀번호 입력)
docker login

 

 

  • push 명령어를 입력해 이미지를 저장소에 올린다.

 

하나의 레이어만 저장소로 전송되고, 나머지 레이어는 ubuntu:14.04 이미지에서 생성되어 도커 허브의 우분투 이미지 저장소에 이미 존재하므로 전송되지 않는다.

 

 

  • 도커 허브의 저장소에 잘 올라갔는지 [Tags] 항목에서 이미지를 확인한다.

별도의 로그인 없이도 이 이미지를 내려받을 수 있다.

docker pull ejuhee/my-image-name:0.0

 

 

2. Organization

  • 조직 단위로 저장소를 생성할 수 있다.
  • 팀을 만들어 다른 개발자의 계정을 팀에 초대할 수 있다.
  • 조직에서 저장소를 생성하면 계정에 속한 저장소와 별도로 취급되므로 이미지의 이름 중 접두어가 조직의 이름으로 설정된다.

 

  • 헤더의 [Organizations] 클릭

 

  • [Create Organizations]

유료로 바뀌었다..ㅋㅋ... 다음 기회에 ~ 👋🏻

 

 

3. 저장소 웹훅(Webhook)

  • 저장소에 이미지가 push 됐을 때 특정 URL로 http 요청을 전송하도록 설정할 수 있다.
  • 도커 허브의 웹훅은 저장소에 새로운 이미지가 생성됐을 때 지정된 URL로 해당 이미지의 정보와 함께 http 요청을 전송한다.
  • 저장소에 추가된 새로운 이미지를 각 서버에 배포하는 애플리케이션을 작성할 때 유용하게 활용할 수 있다.

 

웹훅 추가하기

  • [Repositories] > 저장소 > [Webhooks]

 

728x90
반응형