Container Registry API V2 가이드
    • PDF

    Container Registry API V2 가이드

    • PDF

    기사 요약

    기본 정보

    API URL

    https://ncr.apigw.fin-ntruss.com/ncr/api
    

    API Header

    항목Mandatory설명
    Content-TypeMandatory요청 Body Content Type을 application/json으로 지정
    x-ncp-apigw-timestampMandatory1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 표시
    API Gateway 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
    x-ncp-iam-access-keyMandatory포탈 또는 Sub Account에서 발급받은 Access Key ID
    x-ncp-apigw-signature-v2Mandatory위 예제의 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

    API Header 바로가기

    Parameters

    항목MandatoryType설명비고
    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설명비고
    countnumber등록된 레지스트리의 총 개수
    nextnumber다음 페이지의 번호 (다음 페이지가 없다면 Null을 반환)
    previousnumber이전 페이지의 번호 (이전 페이지가 없다면 Null을 반환)
    results[].namestring레지스트리 이름
    results[].bucketstring레지스트리와 연동된 Object Storage의 Bucket 이름
    results[].end_pointstringDocker Client가 Registry에 접근하기 위한 엔드 포인트
    results[].usagestringObject Storage Bucket의 사용량
    results[].creatednumber레지스트리의 생성일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환
    results[].statusstring레지스트리의 상태 반환Object Storage와의 연동 상태를 표현
    정상 상태라면 running을 반환. Bucket이 삭제 되었다면 disconnected를 반환

    응답 Status

    HTTP StatusDesc
    200OK
    400Bad Request
    401Unauthorized
    403Forbidden
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름생성할 레지스트리 이름

    Headers

    API Header 바로가기

    요청 Body

    {
      "bucket": "string"
    }
    
    항목MandatoryType설명비고
    bucketMandatorystringBucket 이름생성될 레지스트리와 연동될 Object Storage의 Bucket 이름 (중복 사용 불가)

    응답 Body

    {
      "returnCode": "string",
      "returnMessage": "string"
    }
    
    항목Type설명비고
    returnCodestring리턴 코드
    returnMessagestring리턴 메시지

    응답 Status

    HTTP StatusDesc
    201OK
    400Bad Request
    401Unauthorized
    403Forbidden
    409Conflict
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름삭제할 레지스트리 이름

    Headers

    API Header 바로가기

    요청 Body

    없음
    

    응답 Body

    없음
    

    응답 Status

    HTTP StatusDesc
    204OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름이미지 목록을 조회할 레지스트리 이름

    Parameters

    항목MandatoryType설명비고
    page-number페이지 번호- 조회할 페이지 번호
    페이지 번호는 0보다 큰 값을 입력.
    pagesize-number페이지 크기- 조회할 페이지 크기
    페이지 크기는 0보다 큰 값을 입력

    Headers

    API Header 바로가기

    요청 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설명비고
    countnumber등록된 레지스트리의 총 개수
    nextnumber다음 페이지의 번호 (다음 페이지가 없다면 Null을 반환)
    previousnumber이전 페이지의 번호 (이전 페이지가 없다면 Null을 반환)
    result[].userstring사용하지 않음사용하지 않음
    result[].namestring이미지 이름
    result[].namespacestring레지스트리 이름
    result[].repository_typestring사용하지 않음사용하지 않음
    result[].statusnumber사용하지 않음사용하지 않음
    result[].descriptionstring이미지에 대한 short description
    result[].is_privateboolean사용하지 않음사용하지 않음
    result[].is_automatedboolean사용하지 않음사용하지 않음
    result[].can_editboolean사용하지 않음사용하지 않음
    result[].star_countnumber사용하지 않음사용하지 않음
    result[].pull_countnumber이미지에 대한 총 Pull count 값
    result[].last_updatenumber이미지의 최근 변경일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환

    응답 Status

    HTTP StatusDesc
    200OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름상세 이미지를 조회할 레지스트리 이름
    imageNameMandatorystring이미지 이름- 상세 정보 조회 대상 이미지 이름
    URI Encoding한 값을 사용해야함
    e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용

    Headers

    API Header 바로가기

    요청 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설명비고
    userstring사용하지 않음사용하지 않음
    namestring이미지 이름
    namespacestring레지스트리 이름
    repository_typestring사용하지 않음사용하지 않음
    statusnumber사용하지 않음사용하지 않음
    descriptionstring이미지에 대한 short description
    is_privateboolean사용하지 않음사용하지 않음
    is_automatedboolean사용하지 않음사용하지 않음
    can_editboolean사용하지 않음사용하지 않음
    star_countnumber사용하지 않음사용하지 않음
    pull_countnumber이미지에 대한 총 Pull count 값
    last_updatenumber이미지의 최근 변경일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환
    has_starredboolean사용하지 않음사용하지 않음
    full_descriptionstring이미지에 대한 상세 description
    affiliationboolean사용하지 않음사용하지 않음
    permissionsobject사용하지 않음사용하지 않음

    응답 Status

    HTTP StatusDesc
    200OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름정보를 변경할 이미지가 있는 레지스트리 이름
    imageNameMandatorystring이미지 이름- 정보를 변경할 이미지 이름
    URI Encoding한 값을 사용해야함
    e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용

    Headers

    API Header 바로가기

    요청 Body

    {
      "description": "string",
      "full_description": "string"
    }
    
    항목MandatoryType설명비고
    description-string이미지에 대한 짧은 설명 작성
    full_description-string이미지에 대한 상세 설명 작성Markdown 지원

    응답 Body

    없음
    

    응답 Status

    HTTP StatusDesc
    204OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름삭제 대상 이미지가 있는 레지스트리 이름
    imageNameMandatorystring이미지 이름- 삭제할 이미지 이름
    URI Encoding한 값을 사용해야함
    e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용

    Headers

    API Header 바로가기

    요청 Body

    없음
    

    응답 Body

    없음
    

    응답 Status

    HTTP StatusDesc
    204OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름태그를 반환할 이미지가 있는 레지스트리 이름
    imageNameMandatorystring이미지 이름- 태그를 반환할 이미지 이름
    URI Encoding한 값을 사용해야함
    e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용

    Parameters

    항목MandatoryType설명비고
    page-number페이지 번호- 조회할 페이지 번호
    페이지 번호는 0보다 큰 값을 입력
    pagesize-number페이지 크기- 조회할 페이지 크기
    페이지 크기는 0보다 큰 값을 입력

    Headers

    API Header 바로가기

    요청 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설명비고
    countnumber등록된 레지스트리의 총 개수
    nextnumber다음 페이지의 번호 (다음 페이지가 없다면 Null을 반환)
    previousnumber이전 페이지의 번호 (이전 페이지가 없다면 Null을 반환)
    result[].namestring태그 이름
    result[].full_sizenumber태그 사이즈
    result[].images[].sizenumber이미지 사이즈
    result[].images[].architecturestringamd64 혹은 ppc64le와 같은 CPU 아키텍쳐
    result[].image[].featuresstring사용하지 않음사용하지 않음
    result[].image[].osstringlinux 혹은 windows와 같은 운영체제
    result[].image[].os_versionstring사용하지 않음사용하지 않음
    result[].image[].os_featuresstring사용하지 않음사용하지 않음
    result[].image[].createdstring이미지 생성일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환
    result[].idnumber태그 아이디
    result[].repositorynumber레지스트리 아이디
    result[].creatorstring이미지 등록자 아이디사용하지 않음
    result[].last_updaterstring이미지 등록자 아이디사용하지 않음
    result[].last_updatedstring이미지 최근 변경일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환
    result[].image_idnumber이미지 아이디
    result[].v2boolean이미지에 대한 v2 스펙 적용 유무

    응답 Status

    HTTP StatusDesc
    200OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름상세 태그 정보를 반환할 이미지가 있는 레지스트리 이름
    imageNameMandatorystring이미지 이름- 상세 태그 정보를 반환할 이미지 이름
    URI Encoding한 값을 사용해야함
    e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용
    referenceMadatorystring태그 이름상세 정보를 조회할 태그 이름

    Headers

    API Header 바로가기

    요청 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설명비고
    namestring태그 이름
    full_sizenumber태그 사이즈
    images[].sizenumber이미지 사이즈
    images[].architecturestring이미지 동작 환경
    image[].featuresstring사용하지 않음사용하지 않음
    image[].osstring이미지 구동 환경
    image[].os_versionstring사용하지 않음사용하지 않음
    image[].os_featuresstring사용하지 않음사용하지 않음
    image[].createdstring이미지 생성일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환
    idnumber태그 아이디
    repositorynumber레지스트리 아이디
    creatorstring이미지 등록자 아이디사용하지 않음
    last_updaterstring이미지 등록자 아이디사용하지 않음
    last_updatedstring이미지 최근 변경일1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 반환
    image_idnumber이미지 아이디
    v2boolean이미지에 대한 v2 스펙 적용 유무

    응답 Status

    HTTP StatusDesc
    200OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal 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

    항목MandatoryType설명비고
    registryMandatorystring레지스트리 이름삭제할 이미지의 태그가 있는 레지스트리 이름
    imageNameMandatorystring이미지 이름- 삭제할 태그의 이미지 이름
    URI Encoding한 값을 사용해야함
    e.g. hello/world의 경우 hello%2Fworld 로 변환하여 사용
    referenceMadatorystring태그 이름삭제할 태그 이름

    Headers

    API Header 바로가기

    요청 Body

    없음
    

    응답 Body

    없음
    

    응답 Status

    HTTP StatusDesc
    204OK
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    500Internal Server Error

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.