사내에서 Docker image 를 관리하기 위해 private registry 를 구성하는 방법입니다.
OS 는 Windows Server 2016 입니다.
2019/04/26 - [Docker] - (Docker) Windows Server 2016 에 Docker 설치 하기
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
'Docker_k8s' 카테고리의 다른 글
[Docker] DockerFile 명령어 - ADD (0) | 2019.05.12 |
---|---|
[Docker] DockerFile 명령어 - EXPOSE (0) | 2019.05.12 |
(Docker) cpu, memory 제한두기 (0) | 2019.04.26 |
(Docker) 이미지 명 변경하기 (0) | 2019.04.26 |
(Docker) Windows Server 2016 에 Docker 설치 하기 (0) | 2019.04.26 |