공부하는 책
완벽한 IT 인프라 구축을 위한 Docker (2판)
복습을 위해 요약한 것.
목표
docker 책 6장 내용 숙지
- Docker 이미지 공유
6.1 Docker 이미지의 자동 생성 및 공개
git hub 생략
github 레포지토리 생성함
6.1.1 Docker Hub의 링크 설정
- Setting > Linked Account > github 계정 연결
- repository > create repository
- git hub 계정 클릭 > github repository 선택
- Docker hub 레포지토리 생성함
- 레포지토리 > Builds > Build configurations > BUILD RULES 추가
- triger 클릭
- 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 이미지 업로드
-
이미지 생성 (방금 만든 로컬 레지스트리에 업로드하기 위한)
샘플소스 chap06 https://github.com/asashiho/dockertext2
% docker build -t docker-science .
샘플소스 에러난다.. 기존에 만들어둔 ‘sample’ 이라는 이미지로 대상 변경!
-
‘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 ...
-
프라이빗 레지스트리에 이미지 업로드
% docker image push localhost:5000/docker-sample
-
로컬 이미지 삭제 (다운로드 테스트를 위해)
% docker image rm localhost:5000/docker-sample % docker image rm sample:1.0 # 삭제 확인 완료
6.2.3 Docker 이미지의 다운로드와 작동 확인
-
이미지 다운로드
% docker image pull localhost:5000/docker-sample % docker image ls # 이미지 다운로드 확인 완료
-
작동확인
% docker container run -it -p 8888:8888 localhost:5000/docker-sample # 작동 확인 완료
6.3 클라우드 서비스를 사용한 프라이빗 레지스트리 구축
6장 208~214 패스