Docker Hub

Tool/Docker 2016. 2. 8. 12:32

Docker Hub 는 Docker사가 운영하는 공개 저장소이며, 다른 사람들과 이미지를 공유할 수 있다.

또한 공유하고 싶지 않은 이미지를 저장할 수 있는 개인 저장소도 제공한다.

그리고 개인 저장소는 조직을 구성하여 그 구성원에게만 공유할 수도 있다.

Docker Hub 와 관련된 명령어는 pull, login, push 이다.

Docker Hub 사이트에서 가입하거나 login 명령을 사용하여 계정을 생성하면 서비스를 이용할 수 있다.


# docker login
Username: ggamzzak
Password:
Email: ggamzzak@gmail.com
WARNING: login credentials saved in ~/.docker/config.json
Account created. Please use the confirmation link we sent to your e-mail to activate it.
cs


공개 저장소에서 사용될 username / password / email 주소를 입력하면 자동으로 로그인 된다.

인증 파일은 ~/.docker/config.json 에 저장된다.


로그인 인증이 되었으므로 자신의 이미지를 Docker Hub 로 push 하고, 다른 사람들과 이미지를 공유한다.

로컬 이미지를 레지스트리의 저장소와 매칭시키는 표기법은 username/repository:tag 이다. 태그는 선택 사항이지만 권장 사항이다.

원하는 목적지에 업로드되도록 docker tag 명령으로 사용자 이름, 저장소 및 태그 이름을 정확하게 지정하여 원본 이미지를 태깅한다.


$ docker tag sourceImage username/repository:tag


# docker tag ubuntuV1 ggamzzak/ubuntu:v1
# docker push ggamzzak/ubuntu:v1
The push refers to a repository [docker.io/ggamzzak/ubuntu] (len: 1)
fd0818beae1d: Pushed
f80999a1f330: Pushed
2ef91804894a: Pushed
92ec6d044cb3: Pushed
v1: digest: sha256:117759e03c98d637fec6fcf5d605c6a2b9e94e07cbe4fb5628e2dbab1779ef00 size: 8402
cs



Automated Builds


Docker Hub 는 공유/개인 저장소 외에도 Automated Builds 를 제공한다.

Automated Builds 는 GibHub 나 Bitbucket 에서 Docker Hub 로 이미지의 빌드와 갱신을 자동화한다.


Automated Build 설정하기


  1. Docker Hub 계정 생성하고 로그인
  2. Linked Accounts & Services 메뉴에서 GitHub 나 Bitbucket 계정 연결
  3. Create - Automated Build
  4. 연동할 GitHub 프로젝트 선택나 Bitbucket 프로젝트 선택


이제 GitHub 에 Dockerfile 을 작성하여 push 하면 Docker Hub 의 이미지가 재생성(re-build)된다.



Webhook


webhook 은 automated build 저장소의 이벤트에 응답하여 지정한 목표 URL 로 정보를 보내준다.

이벤트는 이미지 빌드, 새 태그 추가 등이 되겠다.

이벤트가 발생하면 webhook 은 지정된 URL 로 JSON 형식의 결과를 전달한다.

URL 에서는 그 형식을 받아 원하는 기능을 구현할 수 있다.

예를 들어 URL 에 webhook 으로부터 JSON 파일이 전달되면 파싱하여 내용을 slack 등의 어플리케이션으로 알릴 수 있다.




WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,