반응형
Private docker registry를 구축하려 할 때 AWS S3등 Object storage를 사용하게 되는 경우가 많을것이다.
MinIO는 실제 운영 환경에서 Object Storage를 사용하기 이전에 테스트 용도로 사용하기 위한 가볍고 훌륭한 오픈소스 오브젝트 스토리지이다.
1. MinIO설치
MinIO는 binary, docker, window, kubernetes(helm) 등 다양한 방식으로 매우 손쉽게 설치할 수 있다.
간단한 테스트를 위해 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 내부에 레이어 정보들이 업로드 된것을 확인해 볼 수 있다.
반응형