인프라

8. 도커 이미지 배포

오늘의 나1 2021. 3. 30. 20:40

도커 이미지 배포 방법

  • 도커 허브
    • 도커에서 제공하는 이미지 저장소
    • 기본적으로 퍼블릭 리포지토리는 무제한, 프라이빗 리포지토리는 1개만 생성 가능
    • 2개 이상의 프라이빗 리포지토리를 쓰거나 4명 이상의 팀을 구성하고자 하는 경우는 비용을 지불해야 함
  • 도커 사설 레지스트리
    • 직접 이미지 저장소를 만들어 사용
    • 사용자가 직접 이미지 저장소, 서버, 저장 공간 등을 관리해야 하므로 도커 허브보다는 사용법이 까다로움
    • 회사의 내부망 같은 곳에서 도커 이미지를 배포해야 한다면 도커 허브보다 더 좋을 수 있음

도커 허브 저장소

이미지 저장소 생성

도커 계정으로 로그인 후, 도커 허브 > 리포지토리 페이지에서 이미지 저장소를 생성할 수 있음

생성된 저장소명은 _${user id}/${repository name}

생성된 저장소의 이미지명은 ${user id}/${repository name}:${tag name}

저장소에 이미지 올리기

이미지 생성

$ docker run -i -t --name commit_container1 ubuntu:14.04 # 이미지로 컨테이너를 생성한 후
root@578658cff420:/$ echo my first push >> test # 컨테이너에 변경을 주어

$ docker commit commit_container my-image-name:0.0 # 다시 이미지로 만듦
sha256:9fb5eddd0b22ae5de47909ebf605d2b8df5cf804e1755cc5c614cf8becd303ca

저장소에 이미지 올리기

  • 저장소에 이미지를 올리려면 저장소 이름(사용자의 이름)을 이미지 앞에 접두어로 추가해야 함
  • 예제에서는 alicek107이라는 사용자의 저장소에 업로드하기 위한 이미지 태그 생성
$ docker tag my-image-name:0.0 alicek107/my-image-name:0.0 # 새로운 이미지 이름 alicek107/my-image-name:0.0을 추가
  • 로그인 후, 이미지를 저장소에 푸시
$ docker login # username, password 입력
# ...
Login Succeeded

$ docker push alicek107/my-image-name:0.0

조직, 팀 생성

  • 도커 허브에 로그인 후, 도커 허브 > Organization 페이지에서 조직을 생성할 수 있음
  • 조직 생성 후, 조직에 속하는 팀을 생성하여 조직에 대한 읽기 및 쓰기 권한을 관리할 수 있음
  • 조직의 리포지토리에 이미지를 푸시하기 위해서는 해당 사용자가 조직의 멤버이며 쓰기 권한이 있어야 함

저장소 웹훅

  • 리포지토리 상세 페이지의 웹훅 탭에서 저장소 웹훅을 추가할 수 있음
  • 새로운 이미지가 푸시되면, 지정된 URL로 해당 이미지의 정보와 함께 http 요청을 전송
  • 저장소에 추가된 새로운 이미지를 각 서버에 배포하는 애플리케이션을 작성할 때 유용하게 활용할 수 있음

도커 사설 레지스트리

 

출처

'인프라' 카테고리의 다른 글

11. Docker Compose  (0) 2021.04.03
10. 도커 이미지 빌드 & 푸시 실습  (0) 2021.03.30
9. DockerFile  (0) 2021.03.14
7. 도커 이미지  (0) 2021.03.03
4. 도커 네트워킹  (0) 2021.03.02