> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudtype.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 이미지 레지스트리 연결

> 프라이빗 이미지 저장소를 연결하면 Container 템플릿으로 커스텀 이미지를 배포할 수 있습니다. 본 가이드에서는 **GitHub Container Registry, GCP Artifact Registry, Docker Hub**의 연결을 다룹니다.

***

## 저장소 연결

<AccordionGroup>
  <Accordion title="GitHub Conainer Registry">
    ### Personal Access Token 생성

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/ghcr-01.png" />
    </Frame>

    > GitHub 계정의 **Settings**에 진입 후 [Developer settings > Personal access tokens (classic) 페이지](https://github.com/settings/tokens)에서 `Generate new token > Generate new token(classic)`을 클릭해 토큰을 생성하세요.

    ### 권한 부여 및 토큰 발급

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/ghcr-02.png" />
    </Frame>

    > 아래의 권한을 부여하고 `Generate token`을 클릭하세요.

    * **repo**
    * **write:packages**
    * **admin:public\_key**

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/ghcr-03.png" />
    </Frame>

    > 토큰 생성이 완료되면 토큰 값이 표시됩니다. 토큰은 생성 시 최초 한 번만 값을 확인할 수 있습니다.

    ### cloudtype에 연결

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/ghcr-05.png" />
    </Frame>

    > 스페이스 설정화면의 애드온 메뉴에서 `컨테이너 저장소 연결하기`를 클릭하면 표시되는 **컨테이너 저장소 설정** 창에서 아래의 값들을 입력한 후 `연결하기`를 클릭하면 **GitHub Container Registry**가 연결됩니다.

    * **저장소 제공자** : GitHub Container Registry
    * **GitHub 아이디** : GitHub ID
    * **퍼스널 엑세스 토큰(PAT)** : GitHub에서 생성한 Personal Access Token
  </Accordion>

  <Accordion title="GCP Artifact Registry">
    ### GCP Artifact Registry 생성

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-01.png" />
    </Frame>

    > Google Cloud 콘솔에서 **Artifact Registry** 서비스에 접속한 후 `저장소 만들기`를 클릭하세요.

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-02.png" />
    </Frame>

    > 저장소의 이름을 적절히 정하고 아래의 값들을 입력한 후 `만들기`를 클릭하면 저장소가 생성됩니다.

    * **형식** : Docker
    * **모드** : 표준
    * **위치 유형** : 리전
    * **리전** : 사용자의 상황에 맞는 리전 선택
    * **암호화** : Google 관리 암호화 키

    ### 저장소 접속 주소 조회

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-03.png" />
    </Frame>

    > 생성된 저장소를 클릭하면 `[리전]-docker.pkg.dev/[GCP 프로젝트 ID]/[저장소이름]` 형식의 접속 주소를 조회할 수 있습니다.

    <Note>
      저장소 접속 주소는 cloudtype에서 저장소를 연결할 때 사용됩니다.
    </Note>

    ### 서비스 계정 생성 및 권한 부여

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-04.png" />
    </Frame>

    > Google Cloud 콘솔의 **IAM 및 관리자 > 서비스 계정** 페이지에서 `서비스 계정 만들기`를 클릭하세요.

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-05.png" />
    </Frame>

    > 식별할 수 있는 **서비스 계정 이름**을 작성한 후 `만들고 계속하기`를 클릭합니다.

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-06.png" />
    </Frame>

    > 역할 선택 창에서 **Artifact Registry 관리자** 항목을 선택하고, `완료`를 클릭하면 서비스 계정이 생성됩니다.

    ### JSON KEY 만들기

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-07.png" />
    </Frame>

    > 생성된 서비스 계정 우측의 <Icon icon="ellipsis-vertical" size={15} color="000" /> 아이콘을 클릭한 후 **키 관리**를 선택하세요.

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-08.png" />
    </Frame>

    > 생성한 서비스 계정 키 관리 페이지의  **키 추가 > 새 키 만들기**를 클릭하면 표시되는 **비공개 키 만들기** 창에서, 키 유형으로 **JSON**을 선택하고 `만들기`를 클릭하면 JSON 키가 파일 형태로 다운로드 됩니다.

    ### cloudtype에 연결

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/gcp-ar-11.png" />
    </Frame>

    > 스페이스 설정화면의 애드온 메뉴에서 `컨테이너 저장소 연결하기`를 클릭하면 표시되는 **컨테이너 저장소 설정** 창에서 아래의 값들을 입력한 후 `연결하기`를 클릭하면 **Google Cloud Artifact Registry**가 연결됩니다.

    * **저장소 제공자** : Google Cloud Artifact Registry
    * **접속 주소** : 저장소 생성 후 조회한 접속주소
    * **키파일(JSON)** : JSON 키 파일 내용
  </Accordion>

  <Accordion title="Docker Hub">
    ### Docker Hub Access Token 생성

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/docker-hub-01.png" />
    </Frame>

    > Docker Hub 계정을 만든 후 우측 상단의 계정명이 있는 버튼을 클릭합니다.
    > 이어 **Account Settings > Security** 메뉴로 접속한 후에 `New Access Token`을 클릭하세요.

    ### 권한 부여 및 토큰 발급

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/docker-hub-02.png" />
    </Frame>

    > Access Token Description 필드에 토큰의 용도나 역할을 구분할 수 있는 문구를 작성하고 Access permissions는 **Read & Write** 값을 선택하세요.
    > 생성된 토큰은 최초 1회에 한해 조회할 수 있습니다.

    ### cloudtype에 연결

    <Frame>
      <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/ko/docker-hub-04.png" />
    </Frame>

    > 스페이스 설정화면의 애드온 메뉴에서 `컨테이너 저장소 연결하기`를 클릭하면 표시되는 **컨테이너 저장소 설정** 창에서 아래의 값들을 입력한 후 `연결하기`를 클릭하면 **Docker Hub**가 연결됩니다.

    * **저장소 제공자** : Docker Hub
    * **유저명** : Docker Hub ID
    * **비밀 번호(토큰)** : Docker Hub Access token
  </Accordion>
</AccordionGroup>

## 이미지 배포

> 이미지 배포는 [컨테이너 이미지 배포하기 페이지](/ko/developers/registry)를 참고하세요.
