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

이주희·2022년 11월 4일
0

Docker

목록 보기
12/16

이미지 배포

save, export와 같은 방법의 단점

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

도커 허브 이미지 저장소

  • 도커 허브는 도커 이미지를 저장하기 위한 클라우드 서비스이다.

  • 만든 이미지를 다른 사용자에게 공개해도 상관없다면 공개(Public) 저장소를 무료로 사용할 수 있다.


1. 도커 허브에 배포하기

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

  • Docker Hub 계정 생성

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

  • 가입 시 입력한 이메일로 인증 메일이 온다. 파란 버튼 ㄱㄱ

  • 헤더의 [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]

profile
🍓e-juhee.tistory.com 👈🏻 이사중

0개의 댓글