개인 레지스트리 구성
Docker Hub 는 편리한 공개 레지스트리를 제공하지만, 조직의 맞춤형 Docker 이미지를 호스팅하기 위해 개인 레지스트리를 설정해야 하는 경우가 있습니다. 이 섹션에서는 개인 Docker 레지스트리를 구성하는 방법을 안내합니다.
개인 레지스트리 배포
개인 Docker 레지스트리를 배포하려면 공식 Docker 레지스트리 이미지를 사용할 수 있습니다. 먼저 Docker Hub 에서 레지스트리 이미지를 풀합니다.
docker pull registry:2
그런 다음 다음 명령어를 사용하여 레지스트리 컨테이너를 실행합니다.
docker run -d --name registry -p 5000:5000 registry:2
이렇게 하면 로컬 머신에서 포트 5000 을 통해 수신하는 개인 Docker 레지스트리가 시작됩니다.
개인 레지스트리로 이미지 푸시
개인 레지스트리로 Docker 이미지를 푸시하려면 적절한 레지스트리 URL 로 태깅해야 합니다. 개인 레지스트리가 localhost:5000에서 실행 중이라고 가정하면 이미지를 다음과 같이 태깅할 수 있습니다.
docker tag my-image localhost:5000/my-image:latest
그런 다음 개인 레지스트리로 이미지를 푸시합니다.
docker push localhost:5000/my-image:latest
개인 레지스트리에서 이미지 풀링
개인 레지스트리에서 이미지를 풀하려면 다음 명령어를 사용합니다.
docker pull localhost:5000/my-image:latest
개인 레지스트리 보안
기본적으로 개인 레지스트리는 보안되지 않으므로 누구든지 접근하고 상호 작용할 수 있습니다. 개인 레지스트리의 보안을 강화하려면 HTTPS 를 사용하고 인증을 구현할 수 있습니다.
HTTPS 사용 설정
개인 레지스트리에 HTTPS 를 사용하려면 유효한 SSL/TLS 인증서가 필요합니다. 자체 서명된 인증서를 사용하거나 신뢰할 수 있는 인증 기관 (CA) 에서 인증서를 받을 수 있습니다.
인증서 및 키 파일이 있으면 다음 명령어를 사용하여 레지스트리 컨테이너를 실행할 수 있습니다.
docker run -d --name registry \
-p 5000:5000 \
-v /path/to/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
이렇게 하면 HTTPS 가 활성화된 레지스트리 컨테이너가 시작됩니다.
인증 구현
개인 레지스트리에 인증을 추가하려면 Docker 레지스트리가 제공하는 기본적인 기본 인증 메커니즘을 사용할 수 있습니다. 이는 암호 파일을 만들고 적절한 환경 변수로 레지스트리 컨테이너를 실행하는 것을 포함합니다.
개인 Docker 레지스트리를 구성하면 조직의 컨테이너 이미지에 대한 더 큰 제어권을 유지하고 애플리케이션의 보안 및 무결성을 보장할 수 있습니다.