본문 바로가기
개발/DevOps

docker docs 따라하기 - Docker Registry 다루기

by ny0011 2021. 8. 10.
반응형

Docker Registry?

  • docker image를 저장하고 배포할 수 있는 곳.
  • stateless, highly scalable server side application
    • stateless : 서버가 클라이언트 상태를 저장하지 않음

왜 씀?

  • docker image가 저장된 곳을 관리하고 싶을 때
  • 이미지 저장 및 배포를 모두 같은 곳에서 하고 싶을 때
  • 자체 registry를 사용하면 새로운 이미지가 registry가 등록 되었을 때 다른 환경에 재배포를 하는 등의 서비스를 할 수 있음

Requirements

  • docker engine 1.6.0 ⬆
  • 알아야 하는 지식
    • docker daemon, cli의 차이점 알기
    • 시스템 관리, 모니터링
    • logging
    • security 101(?)
    • http, 네트워크 커뮤니케이션
    • golang 언어

Docker Registry 생성

docker run -d -p 5000:5000 --name registry registry:2

dockerhub에 있는 registry:2 이미지를 가져오게 되는데

이 이미지를 실행해두면 docker registry로 사용할 수 있다

기본 port가 5000이라서 localhost:5000가 docker registry가 됨

# docker ps -a
CONTAINER ID   IMAGE           COMMAND                  CREATED              STATUS                   PORTS                                            NAMES
d7481c63ed32   registry:2      "/entrypoint.sh /etc…"   About a minute ago   Up About a minute        0.0.0.0:5000->5000/tcp                           registry

로컬에 있는 이미지를 방금 설치한 registry로 push/pull하기

1. 기존 ubuntu 이미지에 localhost:5000/으로 시작하는 태그 만들기

docker image tag ubuntu localhost:5000/myfirstimage

2. 이미지 push

docker push localhost:5000/myfirstimage

3. 이미지 pull

docker pull localhost:5000/myfirstimage

registry stop 및 모든 데이터 삭제

docker container stop registry && docker container rm -v registry

 

댓글