로컬 네트워크에 전용 레지스트리 운영의 장점
- 인터넷 회선 사용량을 줄여 주며 전송 시간을 절약할 수 있다.
- 데이터를 다른 사람의 손에 맡기지 않아도 된다
- 주로 사용하는 공개 레지스트리가 다운됐을 때 신속하게 전환할 수 있다
코어 레지스트리 * 깃허브 저장소 docker/distribution에서 개발이 진행된다. * 도커 허브와 동일한 레이어 캐시 시스템을 통해 이미지를 내려받고 푸시하는 기본적인 기능을 제공한다.
컨테이너 형태로 도커 레지스트리를 실행
--restart
플래그를 부여하면 도커를 재시작했을 때 해당 컨테이너도 자동으로 재시작된다
001) ➜ docker container run -dp 5100:5000 --restart always diamol/registry
002) 53b86611a284239fb29402dd1c85619149312304cb754ec381f6df2bf20ce4b3
로컬 레지스트리 도메인 네임 지정
- 이 레지스트리의 도메인
localhost:5100
을 사용해 이미지에 태그를 부여하면 새로운 레지스트리에 이미지를 푸시할 수 있다. - 로컬 컴퓨터에서만 접근할 수 있기 때문에 크게 유용하진 않지만 제대로 된 도메인 네임을 붙인다면 더 활용도가 높아질 것이다.
001) ➜ echo $'\n127.0.0.1 registry.local' | sudo tee -a /etc/hosts
002) ➜ cat /etc/hosts
003) 127.0.0.1 localhost
004) 255.255.255.255 broadcasthost
005) ::1 localhost
006)
007) 127.0.0.1 registry.local
로컬 레지스트리 도메인 네임을 추가해 이미지 참조를 부여
- 로컬 컴퓨터에 실행 중인 레지스트리에는 별도의 인증 수단이 없으며, 레지스트리 운영을 위해 직접 사용할 수 있을 만한 수준은 아니다.
- 하지만 소규모 팀에서는 상당히 유효 하고, 자신만의 이미지 참조 명명체계를 만들 수 있다는 장점도 있다.
기본 이미지 생성
docker build -t access-log ~/Desktop/real/080258/ch04/exercises/access-log
docker build -t image-gallery ~/Desktop/real/080258/ch04/exercises/image-gallery
docker build -t image-of-the-day ~/Desktop/real/080258/ch04/exercises/image-of-the-day
이미지 참조 부여
docker image tag image-gallery registry.local:5100/gallery/ui:v1
docker image tag image-of-the-day registry.local:5100/gallery/api:v1
docker image tag access-log registry.local:5100/gallery/logs:v1
도커 비보안 레지스트리 허용
- 로컬 레지스트리 컨테이너는 이미지를 푸시하고 내려받기 위해 보안 프로토콜인 HTTPS 대신 비보안 프로토콜인 HTTP를 사용한다.
- 도커의 기본 설정에서는 비보안 프로토콜이 적용된 레지스트리를 사용할 수 없게 돼 있다.
- 비보안 레지스트리를 사용하려면 로컬 컴퓨터의 레지스트리를 비보안 레지스트리 허용 목록에 추가해야 한다.
{
"insecure-registries": ["registry.local:5100"]
}