일반 소개
Cloudflare 서버리스 레지스트리는 Cloudflare Workers 및 R2 스토리지를 기반으로 하는 서버리스 컨테이너 레지스트리입니다. 이미지 푸시 및 풀을 지원하며 사용자 이름 비밀번호 및 공개 키 기반 JWT 인증을 제공합니다. 이 프로젝트는 배포가 쉽고, Docker 작업과 호환되며, 서버리스 환경에서 컨테이너 이미지를 관리하는 데 적합합니다. 몇 가지 제한 사항에도 불구하고 서버리스 레지스트리는 개발자를 위한 가볍고 확장 가능한 솔루션을 제공합니다.
기능 목록
- 미러 푸시 앤 풀 지원
- 사용자 아이디 비밀번호 및 JWT 인증 제공
- 도커 호환 작업
- 다른 레지스트리로의 폴백 지원
- 간편한 배포 및 관리
도움말 사용
설치 및 배포
- 종속성 설치모든 종속성을 설치하려면 pnpm을 사용합니다(다른 패키지 관리자도 작동할 수 있지만 pnpm만 지원됨).
$ pnpm install
- 랭글러 파일 준비하기예제 파일을 복사하여 구성합니다.
$ cp wrangler.toml.example wrangler.toml
- R2 스토리지 버킷 설정: R2 스토리지 버킷을 만듭니다.
$ npx wrangler --env production r2 bucket create r2-registry
- 랭글러.toml 구성R2 스토리지 버킷 구성을 wrangler.toml 파일에 추가합니다.
r2_buckets = [ { binding = "REGISTRY", bucket_name = "r2-registry" } ]
- 배포 레지스트리: 프로덕션 환경에 레지스트리를 배포합니다.
$ npx wrangler deploy --env production
사용자 이름 및 비밀번호 인증
- 사용자 이름 및 비밀번호 설정사용자 아이디와 비밀번호를 기밀로 설정합니다.
$ npx wrangler secret put USERNAME --env production $ npx wrangler secret put PASSWORD --env production
JWT 인증
- JWT 공개 키 추가비밀번호 또는 토큰을 인증하기 위해 base64로 인코딩된 JWT 공개 키를 추가합니다.
$ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
Docker로 이미지 밀기 및 당기기
- Docker에 로그인사용자 이름과 비밀번호로 Docker에 로그인합니다.
export REGISTRY_URL=your-url-here echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
- 푸시 미러(컴퓨팅)이미지를 레지스트리로 밀어 넣습니다.
docker pull ubuntu:latest docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest docker push $REGISTRY_URL/ubuntu:latest
- 거울 당기기: 레지스트리에서 이미지를 가져옵니다.
docker rmi ubuntu:latest docker pull $REGISTRY_URL/ubuntu:latest
구성 풀백
- 대체 레지스트리 설정: wrangler.toml 파일에서 폴백 레지스트리를 구성합니다.
[env.production] REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
- 레지스트리 토큰 설정: 레지스트리 토큰을 기밀로 설정합니다.
cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...