[따배도] 5-2. Docker Registry ,Container 보관 창고 (실습)
( 참고 : 따배도 https://www.youtube.com/watch?v=NLUugLQ8unM&list=PLApuRlvrZKogb78kKq1wRvrjg1VMwYrvi )
Contents
- hub.docker.com에 Container UP/DOWNload
- 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에서 다운 받아온다
docker images
- 다운 받은 container image가 잘 있음을 확인할 수 있다.
다운 받은 container image를 내 private repository에 저장할 수 있다.
docker login
# docker images httpd
docker tag httpd:latest seunghan96/httpd:latest
- 로그인 필수! tag를 통해서 계정 알려줘야!
docker images httpd
- 앞선 이미지와 ID가 동일함을 알 수 있다.
docker push seunghan96/httpd:latest
- 내 repository에 push한다.
- 누구나 해당 repository에서 다운 받을 수 있다
Q2. Private Registry 운영하기
NEEDS
- 외부 네트워크가 안되는 곳에서 사용하고 싶을 때
- 사내에서 사용할떄 등…
Private Registry를 사용하기 위해, Registry라는 container를 사용해야한다.
아래와 같은 방법으로 container 저장소를 만들 수 있고다!
docker ps
- 운영중인 process가 없음을 알 수 있다
( = 동작 중인 container가 없다 )
docker run -d -p 5000:5000 --restart always --name registry registry:2
- Registry 컨테이너를 다운받고 run한다
docker ps
- registry라는 이름의 container가 작동 중임을 알 수 있다
docker tag httpd:latest localhost:5000/httpd:latest
docker images localhost:5000/httpd
- private registry 주소인 localhost:5000를 태그에 추가해준다
- private registry에 업로드할 예정인 httpd 도커 이미지가 잘 생성된 것을 확인할 수 있다
docker push localhost:5000/httpd:latest
- private registry에 업로드해준다
cd /var/lib/docker/volumes/
ls
cd de[tab]
cd _data/docker/registry/v2/repositories/
ls
- 해당 폴더 안에 httpd가 잘 있는 것을 확인할 수 있다