Container Registry API V2 가이드
- 인쇄
- PDF
Container Registry API V2 가이드
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
기본 정보
API URL
https://ncr.apigw.fin-ntruss.com/ncr/api
API Header
항목 | Mandatory | 설명 |
---|---|---|
Content-Type | Mandatory | 요청 Body Content Type을 application/json으로 지정 |
x-ncp-apigw-timestamp | Mandatory | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 표시 API Gateway 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 |
x-ncp-iam-access-key | Mandatory | 포탈 또는 Sub Account에서 발급받은 Access Key ID |
x-ncp-apigw-signature-v2 | Mandatory | 위 예제의 Body를 Access Key Id와 맵핑되는 SecretKey로 암호화한 서명 HMAC 암호화 알고리즘은 HmacSHA256 사용 |
NAVER Cloud Platform 인증키 및 Signature 생성 가이드 바로가기
Container Registry API V2
Registry 목록 반환
Container Registry에 등록된 Registry 목록을 반환합니다.
요청 URL
GET https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories
Content-Type: application/json; charset=utf-8
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
Parameters
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
page | - | number | 페이지 번호 | - 조회할 페이지 번호 페이지 번호는 0보다 큰 값을 입력. |
pagesize | - | number | 페이지 크기 | - 조회할 페이지 크기 페이지 크기는 0보다 큰 값을 입력 |
응답 Body
{
"count": "number",
"next": "number",
"previous": "number",
"results": [
{
"name": "string",
"bucket": "string",
"end_point": "string",
"usage": "string",
"created": "number",
"status": "string"
}
]
}
항목 | Type | 설명 | 비고 |
---|---|---|---|
count | number | 등록된 레지스트리의 총 개수 | |
next | number | 다음 페이지의 번호 (다음 페이지가 없다면 Null을 반환) | |
previous | number | 이전 페이지의 번호 (이전 페이지가 없다면 Null을 반환) | |
results[].name | string | 레지스트리 이름 | |
results[].bucket | string | 레지스트리와 연동된 Object Storage의 Bucket 이름 | |
results[].end_point | string | Docker Client가 Registry에 접근하기 위한 엔드 포인트 | |
results[].usage | string | Object Storage Bucket의 사용량 | |
results[].created | number | 레지스트리의 생성일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
results[].status | string | 레지스트리의 상태 반환 | Object Storage와의 연동 상태를 표현 정상 상태라면 running 을 반환. Bucket이 삭제 되었다면 disconnected 를 반환 |
응답 Status
HTTP Status | Desc |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
신규 Registry 등록
Object Storage의 Bucket과 연동된 Registry를 생성합니다.
요청 URL
POST https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 생성할 레지스트리 이름 |
Headers
요청 Body
{
"bucket": "string"
}
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
bucket | Mandatory | string | Bucket 이름 | 생성될 레지스트리와 연동될 Object Storage의 Bucket 이름 (중복 사용 불가) |
응답 Body
{
"returnCode": "string",
"returnMessage": "string"
}
항목 | Type | 설명 | 비고 |
---|---|---|---|
returnCode | string | 리턴 코드 | |
returnMessage | string | 리턴 메시지 |
응답 Status
HTTP Status | Desc |
---|---|
201 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Registry 삭제
특정 Registry를 삭제합니다.
요청 URL
DELETE https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 삭제할 레지스트리 이름 |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|---|
204 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image 목록 반환
레지스트리 내 등록된 Image들의 목록을 반환합니다.
요청 URL
GET https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 이미지 목록을 조회할 레지스트리 이름 |
Parameters
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
page | - | number | 페이지 번호 | - 조회할 페이지 번호 페이지 번호는 0보다 큰 값을 입력. |
pagesize | - | number | 페이지 크기 | - 조회할 페이지 크기 페이지 크기는 0보다 큰 값을 입력 |
Headers
요청 Body
없음
응답 Body
{
"count": "number",
"next": "number",
"previous": "number",
"results": [
{
"user": "string",
"name": "string",
"namespace": "string",
"repository_type": "string",
"status": "number",
"description": "string",
"is_private": "boolean",
"is_automated": "boolean",
"can_edit": "boolean",
"star_count": "number",
"pull_count": "number",
"last_updated": "number"
}
]
}
항목 | Type | 설명 | 비고 |
---|---|---|---|
count | number | 등록된 레지스트리의 총 개수 | |
next | number | 다음 페이지의 번호 (다음 페이지가 없다면 Null을 반환) | |
previous | number | 이전 페이지의 번호 (이전 페이지가 없다면 Null을 반환) | |
result[].user | string | 사용하지 않음 | 사용하지 않음 |
result[].name | string | 이미지 이름 | |
result[].namespace | string | 레지스트리 이름 | |
result[].repository_type | string | 사용하지 않음 | 사용하지 않음 |
result[].status | number | 사용하지 않음 | 사용하지 않음 |
result[].description | string | 이미지에 대한 short description | |
result[].is_private | boolean | 사용하지 않음 | 사용하지 않음 |
result[].is_automated | boolean | 사용하지 않음 | 사용하지 않음 |
result[].can_edit | boolean | 사용하지 않음 | 사용하지 않음 |
result[].star_count | number | 사용하지 않음 | 사용하지 않음 |
result[].pull_count | number | 이미지에 대한 총 Pull count 값 | |
result[].last_update | number | 이미지의 최근 변경일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
응답 Status
HTTP Status | Desc |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image 정보 반환
레지스트리 내 등록된 Image의 상세 정보를 반환합니다.
요청 URL
GET https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}/{imageName}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 상세 이미지를 조회할 레지스트리 이름 |
imageName | Mandatory | string | 이미지 이름 | - 상세 정보 조회 대상 이미지 이름 URI Encoding한 값을 사용해야함 e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용 |
Headers
요청 Body
없음
응답 Body
{
"user": "string",
"name": "string",
"namespace": "string",
"repository_type": "string",
"status": "number",
"description": "string",
"is_private": "boolean",
"is_automated": "boolean",
"can_edit": "boolean",
"star_count": "number",
"pull_count": "number",
"last_updated": "number",
"has_starred": "boolean",
"full_description": "string",
"affiliation": "string",
"permissions": {
"read": "boolean",
"write": "boolean",
"admin": "boolean"
}
}
항목 | Type | 설명 | 비고 |
---|---|---|---|
user | string | 사용하지 않음 | 사용하지 않음 |
name | string | 이미지 이름 | |
namespace | string | 레지스트리 이름 | |
repository_type | string | 사용하지 않음 | 사용하지 않음 |
status | number | 사용하지 않음 | 사용하지 않음 |
description | string | 이미지에 대한 short description | |
is_private | boolean | 사용하지 않음 | 사용하지 않음 |
is_automated | boolean | 사용하지 않음 | 사용하지 않음 |
can_edit | boolean | 사용하지 않음 | 사용하지 않음 |
star_count | number | 사용하지 않음 | 사용하지 않음 |
pull_count | number | 이미지에 대한 총 Pull count 값 | |
last_update | number | 이미지의 최근 변경일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
has_starred | boolean | 사용하지 않음 | 사용하지 않음 |
full_description | string | 이미지에 대한 상세 description | |
affiliation | boolean | 사용하지 않음 | 사용하지 않음 |
permissions | object | 사용하지 않음 | 사용하지 않음 |
응답 Status
HTTP Status | Desc |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image의 정보 수정
레지스트리에 등록된 이미지에 대한 description, full_description을 업데이트 합니다.
요청 URL
PATCH https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}/{imageName}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 정보를 변경할 이미지가 있는 레지스트리 이름 |
imageName | Mandatory | string | 이미지 이름 | - 정보를 변경할 이미지 이름 URI Encoding한 값을 사용해야함 e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용 |
Headers
요청 Body
{
"description": "string",
"full_description": "string"
}
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
description | - | string | 이미지에 대한 짧은 설명 작성 | |
full_description | - | string | 이미지에 대한 상세 설명 작성 | Markdown 지원 |
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|---|
204 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image 삭제
레지스트리에 등록된 이미지를 삭제합니다.
요청 URL
DELETE https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}/{imageName}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 삭제 대상 이미지가 있는 레지스트리 이름 |
imageName | Mandatory | string | 이미지 이름 | - 삭제할 이미지 이름 URI Encoding한 값을 사용해야함 e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용 |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|---|
204 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image의 Tag 목록 반환
레지스트리의 이미지에 등록된 Tag 목록을 반환합니다.
요청 URL
GET https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}/{imageName}/tags
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 태그를 반환할 이미지가 있는 레지스트리 이름 |
imageName | Mandatory | string | 이미지 이름 | - 태그를 반환할 이미지 이름 URI Encoding한 값을 사용해야함 e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용 |
Parameters
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
page | - | number | 페이지 번호 | - 조회할 페이지 번호 페이지 번호는 0보다 큰 값을 입력 |
pagesize | - | number | 페이지 크기 | - 조회할 페이지 크기 페이지 크기는 0보다 큰 값을 입력 |
Headers
요청 Body
없음
응답 Body
{
"count": "number",
"next": "number",
"previous": "number",
"results": [
{
"name": "string",
"full_size": "number",
"images": [
{
"size": "number",
"architecture": "string",
"variant": "string",
"features": "string",
"os": "string",
"os_version": "string",
"os_features": "string",
"created": "number"
}
],
"id": "number",
"repository": "number",
"creator": "string",
"last_updater": "string",
"last_updated": "number",
"image_id": "number",
"v2": "boolean"
}
]
}
항목 | Type | 설명 | 비고 |
---|---|---|---|
count | number | 등록된 레지스트리의 총 개수 | |
next | number | 다음 페이지의 번호 (다음 페이지가 없다면 Null을 반환) | |
previous | number | 이전 페이지의 번호 (이전 페이지가 없다면 Null을 반환) | |
result[].name | string | 태그 이름 | |
result[].full_size | number | 태그 사이즈 | |
result[].images[].size | number | 이미지 사이즈 | |
result[].images[].architecture | string | amd64 혹은 ppc64le 와 같은 CPU 아키텍쳐 | |
result[].image[].features | string | 사용하지 않음 | 사용하지 않음 |
result[].image[].os | string | linux 혹은 windows 와 같은 운영체제 | |
result[].image[].os_version | string | 사용하지 않음 | 사용하지 않음 |
result[].image[].os_features | string | 사용하지 않음 | 사용하지 않음 |
result[].image[].created | string | 이미지 생성일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
result[].id | number | 태그 아이디 | |
result[].repository | number | 레지스트리 아이디 | |
result[].creator | string | 이미지 등록자 아이디 | 사용하지 않음 |
result[].last_updater | string | 이미지 등록자 아이디 | 사용하지 않음 |
result[].last_updated | string | 이미지 최근 변경일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
result[].image_id | number | 이미지 아이디 | |
result[].v2 | boolean | 이미지에 대한 v2 스펙 적용 유무 |
응답 Status
HTTP Status | Desc |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image의 특정 Tag 정보 반환
레지스트리의 이미지에 등록된 특정 Tag의 상세 정보를 반환합니다.
요청 URL
GET https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}/{imageName}/tags/{reference}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 상세 태그 정보를 반환할 이미지가 있는 레지스트리 이름 |
imageName | Mandatory | string | 이미지 이름 | - 상세 태그 정보를 반환할 이미지 이름 URI Encoding한 값을 사용해야함 e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용 |
reference | Madatory | string | 태그 이름 | 상세 정보를 조회할 태그 이름 |
Headers
요청 Body
없음
응답 Body
{
"name": "string",
"full_size": "number",
"images": [
{
"size": "number",
"architecture": "string",
"variant": "string",
"features": "string",
"os": "string",
"os_version": "string",
"os_features": "string",
"created": "number"
}
],
"id": "number",
"repository": "number",
"creator": "string",
"last_updater": "string",
"last_updated": "number",
"image_id": "number",
"v2": "boolean"
}
항목 | Type | 설명 | 비고 |
---|---|---|---|
name | string | 태그 이름 | |
full_size | number | 태그 사이즈 | |
images[].size | number | 이미지 사이즈 | |
images[].architecture | string | 이미지 동작 환경 | |
image[].features | string | 사용하지 않음 | 사용하지 않음 |
image[].os | string | 이미지 구동 환경 | |
image[].os_version | string | 사용하지 않음 | 사용하지 않음 |
image[].os_features | string | 사용하지 않음 | 사용하지 않음 |
image[].created | string | 이미지 생성일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
id | number | 태그 아이디 | |
repository | number | 레지스트리 아이디 | |
creator | string | 이미지 등록자 아이디 | 사용하지 않음 |
last_updater | string | 이미지 등록자 아이디 | 사용하지 않음 |
last_updated | string | 이미지 최근 변경일 | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환 |
image_id | number | 이미지 아이디 | |
v2 | boolean | 이미지에 대한 v2 스펙 적용 유무 |
응답 Status
HTTP Status | Desc |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Registry내 등록된 Image의 특정 Tag 제거
레지스트리의 이미지에 등록된 특정 Tag를 제거합니다.
요청 URL
DELETE https://ncr.apigw.fin-ntruss.com/ncr/api/v2/repositories/{registry}/{imageName}/tags/{reference}
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|---|---|---|---|
registry | Mandatory | string | 레지스트리 이름 | 삭제할 이미지의 태그가 있는 레지스트리 이름 |
imageName | Mandatory | string | 이미지 이름 | - 삭제할 태그의 이미지 이름 URI Encoding한 값을 사용해야함 e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용 |
reference | Madatory | string | 태그 이름 | 삭제할 태그 이름 |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|---|
204 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
이 문서가 도움이 되었습니까?