개요
codespace를 만들면 원격 가상 머신에 Docker 컨테이너가 자동으로 만들어집니다. Docker 컨테이너는 Docker 이미지에서 만들어집니다. 이미지는 사실상 Docker 컨테이너에 대한 템플릿이며 codespace에서 제공하는 결과 환경의 여러 측면을 결정합니다.
리포지토리에 대한 개발 컨테이너 구성에 지정하여 codespace에 사용할 이미지를 선택할 수 있습니다. 예를 들어 파일의 image
devcontainer.json
속성을 사용하여 이 작업을 수행할 수 있습니다.
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",
자세한 내용은 개발 컨테이너 웹 사이트의 개발 컨테이너 사양을 참조하세요.
리포지토리에 대한 개발 컨테이너 구성에서 이미지를 지정하지 않으면 기본 이미지가 사용됩니다. 기본 이미지에는 인기 있는 언어 및 일반적으로 사용되는 도구에 대한 여러 런타임 버전이 포함되어 있습니다. 자세한 내용은 "개발 컨테이너 소개"을 참조하세요.
조직 소유자는 조직 내에서 만든 codespace에 사용할 수 있는 이미지를 제한하는 정책을 추가할 수 있습니다.
개발 컨테이너 구성에 지정된 이미지가 허용된 이미지 중 하나와 일치하지 않으면 다른 사용자가 리포지토리에 대한 codespace를 만들려고 할 때 다음 메시지가 표시됩니다.
Codespace를 만들 수 없습니다. 기본 이미지 'DEV CONTAINER CONFIGURATION의 세부 정보'는 조직 관리자가 설정한 조직 정책에 따라 허용되지 않습니다.
참고:
- 기본 이미지 정책은 codespace를 만들 때만 적용됩니다. 컨테이너를 다시 빌드할 때는 현재 적용되지 않습니다. 이는 향후 릴리스에서 변경될 예정입니다. 자세한 내용은 "codespace 수명 주기"을 참조하세요.
- 기본 이미지 정책은 기본 이미지 또는 컨테이너가 다시 빌드되지 않도록 하는 개발 컨테이너 구성에 오류가 도입된 경우 codespace를 복구하는 데 사용되는 이미지에 적용되지 않습니다.
조직 전체 및 리포지토리별 정책 설정
정책을 만들 때 조직의 모든 리포지토리에 적용할지 또는 지정된 리포지토리에만 적용할지 선택합니다. 조직 전체 정책을 설정하는 경우 개별 리포지토리에 대해 설정한 정책은 조직 수준에서 설정된 제한에 속해야 합니다. 정책을 추가하면 이미지를 더 많이 선택할 수 있으며, 그다지 제한적이 아닙니다.
예를 들어 기본 이미지를 지정된 10개 이미지로 제한하는 조직 전체 정책을 만들 수 있습니다. 그런 다음, 리포지토리 A에 대한 정책을 설정하여 이미지를 조직 수준에서 지정된 두 이미지의 하위 집합으로 제한할 수 있습니다. 리포지토리 A에 대한 추가 이미지를 지정해도 이러한 이미지는 조직 수준 정책에 지정되지 않으므로 아무런 효과가 없습니다. 조직 전체 정책을 추가하는 경우 조직의 모든 리포지토리에 사용할 수 있는 가장 큰 이미지 선택으로 설정해야 합니다. 그런 다음, 리포지토리별 정책을 추가하여 선택을 추가로 제한할 수 있습니다.
참고: Codespace 정책은 조직의 요금이 청구되는 codespace에만 적용됩니다. 개별 사용자가 조직의 리포지토리에 대한 codespace를 만들었는데 조직에 요금이 청구되지 않는 경우 codespace는 이러한 정책에 의해 바인딩되지 않습니다. 조직에 청구되는 codespace를 만들 수 있는 사용자를 선택하는 방법에 대한 자세한 내용은 "조직에 Github Codespaces를 사용하도록 설정"을 참조하세요.
허용되는 이미지를 정의하는 정책 추가
-
GitHub.com의 오른쪽 위에서 프로필 사진을 클릭한 다음 내 조직을 클릭합니다.
2. 조직 옆에 있는 설정을 클릭합니다. 1. 사이드바의 "코드, 계획 및 자동화" 섹션에서 Codespaces 를 선택한 다음, 정책을 클릭합니다. -
"Codespace 정책" 페이지에서 정책 만들기를 클릭합니다.
-
새 정책의 이름을 입력합니다.
-
제약 조건 추가를 클릭하고 기본 이미지를 선택합니다.
-
을 클릭하여 제약 조건을 편집합니다.
-
"허용되는 값" 필드에 허용하려는 이미지의 전체 URL을 입력합니다.
참고: 개발 컨테이너 구성에 지정된 값과 정확히 일치하는 이미지 URL을 지정해야 합니다.
-
더하기 단추()를 클릭하여 값을 추가합니다.
-
필요한 경우 이전 두 단계를 반복하여 이미지 URL을 더 추가합니다.
-
대화 상자 바깥쪽을 클릭하여 닫습니다.
-
기본적으로 정책은 모든 리포지토리에 적용되도록 설정됩니다. 조직의 일부 리포지토리에만 적용하려면 모든 리포지토리 를 클릭한 다음 드롭다운 메뉴에서 선택한 리포지토리 를 클릭합니다.
선택한 리포지토리가 선택된 상태에서:
-
을 클릭합니다.
-
이 정책을 적용할 리포지토리를 선택합니다.
-
리포지토리 목록 아래쪽에서 리포지토리 선택을 클릭합니다.
-
-
정책에 다른 제약 조건을 추가하려면 제약 조건 추가를 클릭하고 다른 제약 조건을 선택합니다. 다른 제약 조건에 대한 자세한 내용은 다음을 참조하세요.
-
정책에 제약 조건 추가를 완료한 후 저장을 클릭합니다.
정책은 누구나 조직에 청구할 수 있는 새 codespace를 만들려고 할 때 적용됩니다. 기본 이미지 제약 조건은 활성 또는 중지된 기존 codespace에 영향을 주지 않습니다.
정책 편집
기존 정책을 편집할 수 있습니다. 예를 들어 정책에서 제약 조건을 추가하거나 제거할 수 있습니다.
- “Codespace 정책” 페이지를 표시합니다. 자세한 내용은 "허용되는 이미지를 정의하는 정책 추가"를 참조하세요.
- 편집할 정책의 이름을 클릭합니다.
- "기본 이미지" 제약 조건 옆에 있는 연필 아이콘()을 클릭합니다.
- 이미지 URL을 추가하거나 제거합니다.
- 저장을 클릭합니다.
정책 삭제
-
“Codespace 정책” 페이지를 표시합니다. 자세한 내용은 "허용되는 이미지를 정의하는 정책 추가"를 참조하세요.
-
삭제하려는 정책 오른쪽에 있는 삭제 단추를 클릭합니다.