[docker] Docker 이미지 공개

도커 > Docker hub, registry

develop, docker
written byzuhern1zuhern

in

2021. 03. 02


공부하는 책
완벽한 IT 인프라 구축을 위한 Docker (2판)
복습을 위해 요약한 것.

목표

docker 책 6장 내용 숙지

  • Docker 이미지 공유

6.1 Docker 이미지의 자동 생성 및 공개

git hub 생략
github 레포지토리 생성함

6.1.1 Docker Hub의 링크 설정

  1. Setting > Linked Account > github 계정 연결
  2. repository > create repository
  3. git hub 계정 클릭 > github repository 선택
  4. Docker hub 레포지토리 생성함
  5. 레포지토리 > Builds > Build configurations > BUILD RULES 추가
  6. triger 클릭
  7. branch push 연동으로 auto build 했으면, 로컬에서 수정하고 push 해보기

6.1.2 Docker 이미지 확인

% docker image pull zuhern/docker-study
Status: Downloaded newer image for zuhern/docker-study:latest
docker.io/zuhern/docker-study:latest

6.2 Docker Registry를 사용한 프라이빗 레지스트리 구축

Docker hub는 Docker의 공식 registry Docker registry를 private network안에서 구축하려면 Docker Store에 있는 공식 이미지인 ‘registry’를 사용

6.2.1 registry 컨테이너 구축하기

% docker image pull registry
% docker image ls registry
REPOSITORY   TAG       IMAGE ID       CREATED      ...
registry     latest    5c4008a25e05   5 days ago   ...
% docker container run -d -p 5000:5000 --name registry registry
% docker container ls
CONTAINER ID   IMAGE      COMMAND                  ...
1b7c87f65e8c   registry   "/entrypoint.sh /etc…"   ...

6.2.2 Docker 이미지 업로드

  1. 이미지 생성 (방금 만든 로컬 레지스트리에 업로드하기 위한)

    샘플소스 chap06 https://github.com/asashiho/dockertext2

    % docker build -t docker-science .

    샘플소스 에러난다.. 기존에 만들어둔 ‘sample’ 이라는 이미지로 대상 변경!

  2. ‘sample’ 이미지 ‘docker-sample’라는 태그 변경
    프라이빗 네트워크 안의 Docker 레지스트리에 업로드하려면 다음 규칙을 사용하여 이미지에 태그 설정
    docker image tag [로컬의 이미지명] [업로드할 레지스트리의 주소:포트 번호]/[이미지명]

    % docker image tag sample localhost:5000/docker-sample
    localhost:5000/docker-sample   latest    9e77deb8bdce   ...
    sample                         1.0       9e77deb8bdce   ...
  3. 프라이빗 레지스트리에 이미지 업로드

    % docker image push localhost:5000/docker-sample
  4. 로컬 이미지 삭제 (다운로드 테스트를 위해)

    % docker image rm localhost:5000/docker-sample
    % docker image rm sample:1.0
    # 삭제 확인 완료

6.2.3 Docker 이미지의 다운로드와 작동 확인

  1. 이미지 다운로드

    % docker image pull localhost:5000/docker-sample
    % docker image ls
    # 이미지 다운로드 확인 완료
  2. 작동확인

    % docker container run -it -p 8888:8888 localhost:5000/docker-sample
    # 작동 확인 완료

6.3 클라우드 서비스를 사용한 프라이빗 레지스트리 구축

6장 208~214 패스