Private registry 구축의 필요성
기업 내부 프로젝트용 이미지는 public에 올리지 않으므로.
도커 허브 서버에서 유료로 이용할 수 있으나 도커허브에 공개된 registry 라는 공식 이미지를 이용하여 구축한다
registry 구축
registry 이미지를 pull로 받아오기
$ docker pull registry

볼륨 설정하기
VOLUME
호스트의 저장폴더와 컨테이너의 저장폴더를 동기화 시키는 것.
$ docker run -d -v /유저명/registry_data:/var/lib/registry -p 5000:5000 --restart=always --name=private-registry registry
- 호스트의 /home/유저명/registry_data 폴더에 있는 파일을 즉시 컨테이너의 /var/lib/registry 폴더와 동기화 시키고
- 포트 5000번으로 5000번 포트에 대한 바인딩을
- 재시작을 하도록 하는 registry 컨테이너를 띄운다
$ docker image history registry

EXPOSE가 노출시키는 포트가 5000번이고, VOLUME 경로를 확인할 수 있다
저장된 요소 검색하기
curl -X GET http://[hostIPv4주소]:5000/v2/_catalog

사설 repo의 내부망 주소를 태그로 붙이기
$ docker image tag [사설repo:version] [hostIPv4주소]:5000/[사설repo:version]

push
$ docker push [hostIPv4주소]:5000/[사설repo:version]

- 도커 엔진이 신뢰할 수 없는 저장소이기에 거절 당한다
저장소로 등록하기
$ sudo vi /etc/init.d/docker
- 31번 라인에
DOCKER_OPTS=--insecure-registry [HostIPv4주소]:5000을 추가한다
$ sudo vi /etc/docker/daemon.json
{"insecure-registries": ["HostIPv4주소"]}입력

$ sudo systemctl restart docker.service
- 갱신을 위한 도커 재시작
push
$ docker push [hostIPv4주소]:5000/[사설repo:version]

- Push가 잘 된 것을 확인할 수 있다
'DevOps🚚 > Docker' 카테고리의 다른 글
| [Docker] 컨테이너 CLI에서 관리하기 (0) | 2024.08.23 |
|---|---|
| [Docker] HAproxy (0) | 2024.08.23 |
| [Docker] play with docker 실습 (0) | 2024.08.23 |
| [Docker] 도커의 이해 (0) | 2024.08.23 |
| [Docker] 컨테이너 기술 (0) | 2024.08.23 |