본문으로 바로가기

Private docker registry를 구축하려 할 때 AWS S3등 Object storage를 사용하게 되는 경우가 많을것이다.

MinIO는 실제 운영 환경에서 Object Storage를 사용하기 이전에 테스트 용도로 사용하기 위한 가볍고 훌륭한 오픈소스 오브젝트 스토리지이다.

 

1. MinIO설치

MinIO는 binary, docker, window, kubernetes(helm) 등 다양한 방식으로 매우 손쉽게 설치할 수 있다.

(min.io/download#/docker)

간단한 테스트를 위해 docker로 설치를 해보자

$  docker run -d -p 80:9000 --name minio minio/minio server /export

(기본적으로 minio는 9000번 포트를 사용한다. 이번 테스트에서는 80으로 포워딩했다.)

 

설치 후 웹브라우저로 접속해서 UI를 통해 확인해 볼 수 있다. (초기 계정/pw : minioadmin/minioadmin)

 

2. bucket 생성

registry로 사용할 bucket을 생성하자. minio cli를 별도로 설치해서 생성해도 되지만, 간단하기 UI로 생성/관리 할 수 있다. 화면 우측 하단 플러스 버튼을 클릭해 생성한다.

 

3. registry config 파일 작성

 

config.yml

version: 0.1
log:
  level: debug
  formatter: text
  fields:
    service: registry
    environment: staging
loglevel: debug
storage:
  s3:
    accesskey: "minioadmin"
    secretkey: "minioadmin"
    region: us-east-1
    regionendpoint: http://{endpoint ip or domain}
    # Make sure you've created the following bucket.
    bucket: docker
    encrypt: false
    secure: false
    chunksize: 5242880
    rootdirectory: /
  delete:
    enabled: true
  maintenance:
    uploadpurging:
      enabled: true
      age: 168h
      interval: 24h
      dryrun: false
    readonly:
      enabled: false
http:
  addr: :5000

 

3. 만든 config 파일을 사용해 registry continer 실행

$ docker run -d -p 5000:5000 -v $(pwd)/config.yml:/etc/docker/registry/config.yml  --name=registry registry

 

4. 확인

이미지가 잘 들어간다.

MinIO 웹에서도 bucket 내부에 레이어 정보들이 업로드 된것을 확인해 볼 수 있다.

 Other Contents 

댓글을 달아 주세요