본문 바로가기
DevOps

docker registry 구성과 관리

by Yoon_estar 2024. 3. 25.
728x90
반응형

docker container registry

● 기업 내부에서 생성한 프로젝트용 이미지를 public registry에 올리는 경우는 없다.
  image에 네트워크나 OS 및 미들웨어 설정 등의 정보가 포함되어 있으므로 보안상 Docker Hub와 같이 인터넷을 통해 불특정 다수에게 공개되는 곳에는 올릴 수 없는 경우에는 Private Registry를 구축한다.
  Docker registry는 docker image를 회사 서버에서 개별적으로 구축 관리하는 서비스다.
  회사 인프라내 private docker registry를 구축하기 위해서는 Docker Hub에 공개되어 있는 공식 image 인 registry를 사용한다.
  적은 용량의 container service로 사용하기에 적합하다.

Local docker container registry 실습

# docker run -d -v /home/estar987/registry_data:/var/lib/registry -p 5000:5000 --restart=always --name=local-registry registry

# docker ps | grep registry
4b1dbdeb833f   registry                 "/entrypoint.sh /etc…"   50 seconds ago   Up 47 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   local-registry

# netstat -nlp | grep 5000
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      4435/docker-proxy   
tcp6       0      0 :::5000                 :::*                    LISTEN      4443/docker-proxy   

# curl -X GET <http://localhost:5000/v2/_catalog>
{"repositories":[]}

# docker tag nginx:latest localhost:5000/nginx:latest
# docker push localhost:5000/nginx:latest

### 파일 수정
---------------------------------------------------------------------------------

# vi /etc/init.d/docker

DOCKER_OPTS=--insecure-registry localhost:5000

---------------------------------------------------------------------------------

# vi /etc/docker/daemon.json

{ "insecure-registries": ["localhost:5000"] }

---------------------------------------------------------------------------------

# systemctl restart docker.service

# docker info
.....
 Experimental: false
 Insecure Registries:
  localhost:5000
  127.0.0.0/8
 Live Restore Enabled: false

!!! ip를 직접 입력시 docker info 정보(참고)

 Username: estar987@naver.com
 Experimental: false
 Insecure Registries:
  192.168.10.137:5000
  127.0.0.0/8
 Live Restore Enabled: false

# docker push localhost:5000/nginx:latest

# curl -X GET <http://localhost:5000/v2/_catalog>
{"repositories":["nginx"]}

# curl -X GET <http://localhost:5000/v2/nginx/tags/list>
{"name":"nginx","tags":["latest"]}
반응형

'DevOps' 카테고리의 다른 글

Docker 명령어 정리  (1) 2024.05.01
컨테이너 격리 기술  (0) 2024.05.01
docker hub repositories에 image push  (0) 2024.03.19
docker image 이해와 구조 확인  (0) 2024.03.15
최신 docker 엔진(ver) update  (0) 2024.03.14