Skip to content

Container Registry

Categories

클라우드 서비스

  • TreeScale - 무제한인데 버그가 있는듯?
  • Canister - 20개 저장소
  • GitLab
  • Docker Hub - One private repo/image spot for free
  • GitHub - 500M 였나? 기억이 안나네
  • Three Scale - Very generous free tier 50GB of space, 500 Pulls a month etc..
  • Canister - 20 private repos with almost no limits on free tier
  • Code Fresh - Free tier for developers

Configuration

환경변수로 전달하고 싶을 경우, REGISTRY_{variable}_{sub}_{sub}...의 포맷으로 전달하면 된다. 예를 들면,

storage:
  filesystem:
    rootdirectory: /var/lib/registry

이 것은 REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/somewhere와 같은 환경변수로 적용 가능하다.

Private repo example

Docker를 본격적으로 사용하기 위해 회사 내에서 사용할 Private Docker Registry 구축이 필요했다. EC2서버에 S3를 저장소로 사용하는 Docker Registry 2.0 설치는 다음 명령어로 손쉽게 가능하다.

docker run -d -p 5000:5000 --restart=always --name docker-registry \
  -v /etc/letsencrypt:/certs \
  -v /docker/docker-registry:/var/lib/registry \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/live/docker-registry.zwolf.org/fullchain.pem \
  -e REGISTRY_HTTP_TLS_KEY=/certs/live/docker-registry.zwolf.org/privkey.pem \
  -e REGISTRY_STORAGE=s3 \
  -e REGISTRY_STORAGE_S3_BUCKET=docker-registry \
  -e REGISTRY_STORAGE_S3_ACCESSKEY=<S3_ACCESSKEY> \
  -e REGISTRY_STORAGE_S3_SECRETKEY=<S3_SECRETKEY> \
  -e REGISTRY_STORAGE_S3_REGION=ap-northeast-2 \
  registry:2

S3를 지원하는 MinIO를 사용하면 자체서버로 연동할 수 있다.

with MinIO

Troubleshooting

x509: certificate signed by unknown authority

OpenSSL 참조.

unexpected EOF

chunksize파라미터를 수정하여 해결했다더라... 나는 안되는데? s3:
accesskey: SOM3AWSACCESSK3Y
secretkey: **********************************
region: us-east-1
bucket: some-bucket
encrypt: false
secure: true
v4auth: true
chunksize: 51214400

</syntaxhighlight>

See also

Favorite site