Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

리포지토리를 패키지에 연결

GitHub.com의 패키지에 리포지토리를 연결할 수 있습니다.

GitHub Packages은(는) GitHub Free, GitHub Pro, 조직의 경우 GitHub Free, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 이상 및 GitHub AE에서 사용할 수 있습니다.

GitHub Packages는 레거시 리포지토리별 플랜을 사용하는 계정이 소유한 프라이빗 리포지토리에서 사용할 수 없습니다. 또한 레거시 리포지토리별 계획을 사용하는 계정은 세분화된 권한을 지원하는 레지스트리에 액세스할 수 없습니다. 이러한 계정은 리포지토리에서 청구되기 때문입니다. 세분화된 권한을 지원하는 레지스트리 목록은 "GitHub 패키지에 대한 사용 권한 정보"을 참조하세요. 자세한 내용은 "AUTOTITLE"을 참조하세요.

개인 계정 또는 조직으로 범위가 지정된 패키지를 게시하는 경우 패키지는 기본적으로 리포지토리에 연결되지 않습니다. 패키지를 리포지토리에 연결하는 경우 패키지의 방문 페이지에 추가 정보 같은 리포지토리의 정보 및 링크가 표시됩니다. 패키지가 연결된 리포지토리에서 액세스 권한을 상속하도록 선택할 수도 있습니다. 자세한 내용은 "패키지의 액세스 제어 및 표시 여부 구성"을 참조하세요.

GitHub에서 사용자 범위 패키지에 리포지토리 연결

  1. GitHub에서 개인 계정의 기본 페이지로 이동합니다.

  2. GitHub.com의 오른쪽 위에서 프로필 사진을 클릭한 다음, 내 프로필을 클릭합니다.

    프로필 사진 아래 @octocat의 드롭다운 메뉴 스크린샷 "프로필"은 진한 주황색으로 표시됩니다.

  3. 프로필 페이지의 헤더에서 패키지 탭을 클릭합니다.

  4. 를 검색한 다음 관리하려는 패키지의 이름을 클릭합니다.

  5. 패키지 버전 아래에 있는 리포지토리 연결을 클릭합니다.

  6. 패키지에 연결할 리포지토리를 선택한 다음 리 포지토리 연결을 클릭합니다.

GitHub에서 조직 범위 패키지에 리포지토리 연결

  1. GitHub에서 조직의 기본 페이지로 이동합니다.
  2. 조직 이름 아래에서 패키지 탭을 클릭합니다.  의 @octo-org프로필 페이지 스크린샷 "패키지" 탭은 주황색 윤곽선으로 강조 표시됩니다.
  3. 를 검색한 다음 관리하려는 패키지의 이름을 클릭합니다.
  4. 패키지 버전 아래에 있는 리포지토리 연결을 클릭합니다.
  5. 패키지에 연결할 리포지토리를 선택한 다음 리 포지토리 연결을 클릭합니다.

명령줄을 사용하여 리포지토리를 컨테이너 이미지에 연결

참고: 리포지토리에 연결된 패키지를 게시하는 경우 패키지는 연결된 리포지토리의 액세스 권한을 자동으로 상속하고, 조직에서 액세스 권한의 자동 상속을 사용하지 않도록 설정한 경우가 아니면 연결된 리포지토리의 GitHub Actions 워크플로가 패키지에 자동으로 액세스합니다. 자세한 내용은 "패키지의 액세스 제어 및 표시 여부 구성"을 참조하세요.

  1. Dockerfile에서 이 줄을 추가하고 OWNERREPO를 사용자 세부 정보로 바꿉니다.

    LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO

    예를 들어 사용자가 octocat 인 경우 이 줄을 Dockerfile에 추가합니다.

    LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo

    자세한 내용은 공식 Docker 설명서의 “레이블”과 opencontainers/image-spec 리포지토리의 “미리 정의된 주석 키”를 참조하세요.

  2. 컨테이너 이미지를 빌드합니다. 다음은 현재 디렉터리의 Dockerfile에서 이미지를 빌드하고 이미지 이름 hello_docker를 할당하는 예제입니다.

    $ docker build -t hello_docker .
  3. 필요에 따라 방금 만든 Docker 이미지의 세부 정보를 검토합니다.

    $ docker images
    > REPOSITORY          TAG         IMAGE ID       CREATED         SIZE
    > hello_docker        latest      142e665b1faa   5 seconds ago   125MB
    > redis               latest      afb5e116cac0   3 months ago    111MB
    > alpine              latest      a6215f271958   5 months ago    5.29MB
  4. Docker 이미지에 이름 및 호스팅 대상을 할당합니다.

    $ docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG

    을 패키지의 범위를 지정할 개인 계정 또는 조직의 이름으로 바꿉 NAMESPACE 있습니다.

    예를 들면 다음과 같습니다.

    $ docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
  5. 아직 인증하지 않은 경우 Container registry에 인증합니다. 자세한 내용은 "컨테이너 레지스트리 작업"을 참조하세요.

    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
  6. 컨테이너 이미지를 Container registry에 푸시합니다.

    $ docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG

    예를 들면 다음과 같습니다.

    $ docker push ghcr.io/octocat/hello_docker:latest