반응형
Docker Registry 관련 참고 블로그
2024.08.20 - [DevOps] - Docker(2) - 도커를 위한 환경세팅 및 도커 레지스트리
이전 포스팅 글
2024.08.27 - [개발] - Docker(7) - 이미지 push
Docker Privater Registry
Docker 이미지를 저장하고 관리할 수 있는 private 개인 저장소이다. 일반적으로, docker 이미지를 관리하는 데는 docker hub와 같은 공개 레지스트리를 사용하지만, 사내 프로젝트나 보안상의 이유로 이미지를 외부에 노출시키고 싶지 않을 때는 Private Registry를 사용한다.
구현
1. Private Registry 구현
Docker에서 공식적으로 제공하는 registry 이미지를 사용하여 굉장히 간단한게 Private Registry를 구현할 수 있다. 다음과 같은 명령어로 레지스트리를 실행한다.
# Docker public registry에서 registry 이미지를 풀받아 실행
docker run -d --name docker-registry -p 5000:5000 registry
# registry 컨테이너 실행 확인
docker ps -a
- 위 명령어에서 registry 프로세스 5000번 포트로 할당했으니, localhost:5000으로 접속하면 private registry가 활성화된 것을 확인할 수 있음
2. 레지스트리에 push 하기
# docker 이미지에 태그 달기
# docker tag {이미지명} {호스트명:포트}/{이미지명}
docker tag python-env-test localhost:5000/python-env-test
# docker push
# docker push {호스트명:포트}/{이미지명}
docker push localhost:5000/python-env-test
- 이와 같이 image를 push 하면 다음과 같은 방법으로 업로드된 이미지를 확인할 수 있다.
OR
# curl 설치
apt install curl
# Repository에 HTTP GET API 요청
curl -XGET localhost:5000/v2/_catalog
* curl ? - Clinet URL의 약자로, 명령줄 인터페이스에서 다양한 프로토콜을 사용하여 데이터를 전송하거나 가져올 수 있는 오픈 소스 소프트웨어 - curl은 HTTP, HTTPS, FTP, FTPS, SCP, SFTP, 등 여러 프로토콜을 지원하며, 주로 웹 요청을 보내고 데이터를 다운로드하거나 API와 상호작용하는 데 사용됨. |
- Registry 관련 API는 아래 Docker 공식문서를 참고
Docker registry API 공식 문서
https://docs.docker.com/registry/
3. 레지스트리의 이미지를 pull 받기
# 테스트를 위해 현재 docker image 삭제
docker rmi `docker images | grep {이미지명 또는 ID}`
# docker pull image
docker pull localhost:5000/python-env-test
# 설치 확인
docker images
반응형
'DevOps > Docker' 카테고리의 다른 글
Docker(7) - 이미지 push (0) | 2024.08.27 |
---|---|
Docker(6) - 볼륨 마운트 (0) | 2024.08.21 |
Docker(5) - 환경 변수 (0) | 2024.08.21 |
Docker(4) - Docker 이미지 레이어 (0) | 2024.08.21 |
Docker(3) - Docker 라이프사이클 및 유용한 명령어 (0) | 2024.08.20 |