[따배도] 5-2. Docker Registry ,Container 보관 창고 (실습)

( 참고 : 따배도 https://www.youtube.com/watch?v=NLUugLQ8unM&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi )


Contents

  1. hub.docker.com에 Container UP/DOWNload
  2. Private Registry 운영하기


Q1. hub.docker.com에 Container UP/DOWNload

hub.docker.com 에서 수 많은 container image를 다운받을 수 있다.

# root 계정
docker search httpd 
  • httpd를 키워드로 검색
  • 이름/description에 httpd가 담겨있는 container image들을 보여준다


docker pull httpd
  • 가장 최신 버전의 httpd를 docker.hub에서 다운 받아온다
  • figure2


docker images
  • 다운 받은 container image가 잘 있음을 확인할 수 있다.
  • figure2


다운 받은 container image를 내 private repository에 저장할 수 있다.

docker login
# docker images httpd
docker tag httpd:latest seunghan96/httpd:latest
  • 로그인 필수! tag를 통해서 계정 알려줘야!
  • figure2


docker images httpd
  • 앞선 이미지와 ID가 동일함을 알 수 있다.
  • figure2


docker push seunghan96/httpd:latest
  • 내 repository에 push한다.
  • 누구나 해당 repository에서 다운 받을 수 있다
  • figure2


figure2


Q2. Private Registry 운영하기

NEEDS

  • 외부 네트워크가 안되는 곳에서 사용하고 싶을 때
  • 사내에서 사용할떄 등…


Private Registry를 사용하기 위해, Registry라는 container를 사용해야한다.

figure2


아래와 같은 방법으로 container 저장소를 만들 수 있고다!

figure2


docker ps
  • 운영중인 process가 없음을 알 수 있다

( = 동작 중인 container가 없다 )

  • figure2


docker run -d -p 5000:5000 --restart always --name registry registry:2
  • Registry 컨테이너를 다운받고 run한다
  • figure2


docker ps
  • registry라는 이름의 container가 작동 중임을 알 수 있다
  • figure2


docker tag httpd:latest localhost:5000/httpd:latest
docker images localhost:5000/httpd
  • private registry 주소인 localhost:5000를 태그에 추가해준다
  • private registry에 업로드할 예정인 httpd 도커 이미지가 잘 생성된 것을 확인할 수 있다
  • figure2


docker push localhost:5000/httpd:latest
  • private registry에 업로드해준다
  • figure2


cd /var/lib/docker/volumes/
ls
cd de[tab]
cd _data/docker/registry/v2/repositories/
ls

figure2

  • 해당 폴더 안에 httpd가 잘 있는 것을 확인할 수 있다