사내에서 Docker image 를 관리하기 위해 private registry 를 구성하는 방법입니다.

OS 는 Windows Server 2016 입니다.

 

 

1. regisrty 저장소를 만듭니다.

mkdir C:\registry

 

2. registry 서버를 구동합니다. (보안적용X)

docker run -d -p 5000:5000 --restart=always --name registry -v C:\registry:C:\registry stefanscherer/registry-windows:2.6.2

 

3. 5000 번 포트를 열어 줍니다.

  Azure 로 구동된 VM 인 경우 Network 에서 5000번 port 를 열어 줍니다. (inbound port 추가)

 

여기까지 서버쪽에 구성은 완료되었습니다.

 

이제 서버측이 아닌 클라이언트 단에서 구성된 서버로 이미지를 올리는 방법입니다.

1. 클라이언트 단의 C:\ProgramData\Docker\config 에서 daemon.json 파일에 아래 항목을 추가합니다.

IP 주소는 위 서버의 IP 입니다. ( 이 항목을 등록해서 https 로 접근하지 않고 http 로 접근할수 있게합니다.)

{
 "insecure-registries":["13.92.126.222:5000"],
}

2. 명령어를 통해 서버측 registry 에 로컬 이미지를 업로드 합니다.

제가 가진 이미지목록 중 nanoserver/iis 를 이미지를 업로드 하는 예시입니다.

docker tag nanoserver/iis:latest 13.92.126.222:5000/nanoserver

docker puch 13.92.126.222:5000/nanoserver

 

3. 제대로 업로드 되었는지 확인합니다.

http://13.92.126.222:5000/v2/_catalog (대소문자 주의)

IP 주소는 registry 서버 IP 이며 위 주소로 접근하면 아래 처럼 nanoserver 이미지가 업로드 된 걸 알수 있습니다.

서버측 디렉토리 구조

 

 

참고

https://hub.docker.com/r/stefanscherer/registry-windows/

https://novemberde.github.io/2017/04/09/Docker_Registry_0.html

 

 

+ Recent posts