확장용 프라이빗 마켓플레이스 구성하기
확장용 프라이빗 마켓플레이스 구성하기 (Configure a private marketplace for extensions)
조직의 Docker Desktop 사용자를 위한 확장의 큐레이션된 목록으로 프라이빗 마켓플레이스를 구성하고 설정하는 방법을 설명하는 문서예요.
출처: 문서
본문
가용성: Beta · 대상: 관리자
Docker 사용자를 위해 큐레이션된 확장 목록으로 프라이빗 마켓플레이스를 구성하고 설정하는 방법을 알아봐요.
Docker Extensions의 프라이빗 마켓플레이스는 개발자에게 머신에 대한 루트 접근 권한을 주지 않는 조직을 위해 특별히 설계되었어요. Settings Management를 사용해 관리자가 프라이빗 마켓플레이스를 완전히 제어할 수 있게 해줘요.
사전 요구사항 (Prerequisites)
- Docker Desktop을 다운로드하고 설치합니다.
- 조직의 관리자여야 합니다.
- Jamf 같은 장치 관리 소프트웨어를 통해 아래 지정된 위치로
extension-marketplace폴더와admin-settings.json파일을 푸시할 수 있어야 합니다.
1단계: 프라이빗 마켓플레이스 초기화 (Step one: Initialize the private marketplace)
개발자 머신에 배포될 콘텐츠를 위해 로컬에 폴더를 만드세요:
$ mkdir my-marketplace
$ cd my-marketplace
마켓플레이스를 위한 구성 파일을 초기화하세요:
Mac:
$ /Applications/Docker.app/Contents/Resources/bin/extension-admin init
Windows:
# For all-user installations
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin init
# For per-user installations
$ %LOCALAPPDATA%\Programs\DockerDesktop\resources\bin\extension-admin init
Linux:
$ /opt/docker-desktop/extension-admin init
이렇게 하면 2개의 파일이 생성돼요:
admin-settings.json— 개발자 머신의 Docker Desktop에 적용되면 프라이빗 마켓플레이스 기능을 활성화해요.extensions.txt— 프라이빗 마켓플레이스에 나열할 확장을 결정해요.
중요: 조직이 Docker Home을 통해 Settings Management를 사용한다면
admin-settings.json파일이 필요 없어요. 생성된 파일을 삭제하고extensions.txt파일만 유지하세요.
2단계: 동작 설정 (Step two: Set the behaviour)
생성된 admin-settings.json 파일에는 수정할 수 있는 다양한 설정이 포함되어 있어요.
중요: 조직이 Docker Home을 통해 설정을 관리한다면,
admin-settings.json파일 대신 Docker Home에 동일한 설정을 정의하게 돼요.
각 설정은 설정할 수 있는 값을 가지며, 개발자가 변경할 수 없게 잠그는 locked 필드도 포함해요.
extensionsEnabled— Docker Extensions를 활성화해요.extensionsPrivateMarketplace— 프라이빗 마켓플레이스를 활성화하고, 공개 Docker 마켓플레이스 대신 관리자가 정의하고 제어하는 콘텐츠에 Docker Desktop이 연결되도록 해요.onlyMarketplaceExtensions— 명령줄로 다른 확장을 설치하는 것을 허용하거나 차단해요. 새 확장을 개발하는 팀은 이 설정이 잠금 해제("locked": false)되어 개발 중인 확장을 설치하고 테스트할 수 있어야 해요.extensionsPrivateMarketplaceAdminContactURL— 개발자가 프라이빗 마켓플레이스에서 새 확장을 요청할 수 있는 연락 링크를 정의해요. 값이 비어 있으면 개발자에게 Docker Desktop에 링크가 표시되지 않아요. 그렇지 않으면 HTTP 링크 또는mailto:링크가 될 수 있어요. 예를 들어:
"extensionsPrivateMarketplaceAdminContactURL": {
"locked": true,
"value": "mailto:[email protected]"
}
admin-settings.json 파일에 대한 자세한 내용은 Settings Management를 참조하세요.
3단계: 허용 확장 나열 (Step three: List allowed extensions)
생성된 extensions.txt 파일은 프라이빗 마켓플레이스에서 사용 가능한 확장 목록을 정의해요.
파일의 각 줄은 허용된 확장이며 org/repo:tag 형식을 따릅니다.
예를 들어 Disk Usage 확장을 허용하려면 extensions.txt 파일에 다음을 입력하세요:
docker/disk-usage-extension:0.2.8
태그가 제공되지 않으면 이미지에 사용 가능한 최신 태그가 사용돼요. #로 줄을 주석 처리해 확장을 무시할 수도 있어요.
이 목록은 다양한 유형의 확장 이미지를 포함할 수 있어요:
- 공개 마켓플레이스의 확장 또는 Docker Hub에 저장된 모든 공개 이미지.
- Docker Hub에 프라이빗 이미지로 저장된 확장 이미지. 개발자는 로그인되어 있고 이 이미지에 대한 pull 접근 권한이 있어야 해요.
- 프라이빗 레지스트리에 저장된 확장 이미지. 개발자는 로그인되어 있고 이 이미지에 대한 pull 접근 권한이 있어야 해요.
중요: 개발자는 여러분이 나열한 확장 버전만 설치할 수 있어요.
4단계: 프라이빗 마켓플레이스 생성 (Step four: Generate the private marketplace)
extensions.txt의 목록이 준비되면 마켓플레이스를 생성할 수 있어요:
Mac:
$ /Applications/Docker.app/Contents/Resources/bin/extension-admin generate
Windows:
# For all-user installations
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin generate
# For per-user installations
$ %LOCALAPPDATA%\Programs\DockerDesktop\resources\bin\extension-admin generate
Linux:
$ /opt/docker-desktop/extension-admin generate
이렇게 하면 extension-marketplace 디렉터리가 생성되고 모든 허용 확장에 대한 마켓플레이스 메타데이터가 다운로드돼요.
마켓플레이스 콘텐츠는 이미지 라벨 같은 확장 이미지 정보에서 생성되며, 이는 공개 확장과 동일한 형식이에요. 확장 제목, 설명, 스크린샷, 링크 등을 포함해요.
5단계: 프라이빗 마켓플레이스 설정 테스트 (Step five: Test the private marketplace setup)
자신의 Docker Desktop 설치에서 프라이빗 마켓플레이스를 시도해 보는 것이 좋아요.
터미널에서 다음 명령을 실행하세요. 이 명령은 생성된 파일을 Docker Desktop이 구성 파일을 읽는 위치로 자동 복사해요. 운영 체제에 따라 위치는 다음과 같아요:
- Mac:
/Library/Application Support/com.docker.docker - Windows:
C:\ProgramData\DockerDesktop - Linux:
/usr/share/docker-desktop
Mac:
$ sudo /Applications/Docker.app/Contents/Resources/bin/extension-admin apply
Windows (관리자로 실행):
# For all-user installations
$ C:\Program Files\Docker\Docker\resources\bin\extension-admin apply
# For per-user installations
$ %LOCALAPPDATA%\Programs\DockerDesktop\resources\bin\extension-admin apply
Linux:
$ sudo /opt/docker-desktop/extension-admin apply
그런 다음:
- Docker Desktop을 종료하고 다시 엽니다.
- Docker 계정으로 로그인합니다.
중요: 조직이 Docker Home을 통해 설정을 관리한다면, Docker Desktop 4.59 및 이전 버전에서는 단계 2 전에 apply 명령이 대상 폴더에 만든
admin-settings.json파일을 수동으로 삭제해야 해요. Docker Desktop 4.60 이상에서는 이 단계가 더 이상 필요하지 않아요.
Extensions 탭을 선택하면 extensions.txt에서 허용한 확장만 나열하는 프라이빗 마켓플레이스가 보여야 해요.
6단계: 프라이빗 마켓플레이스 배포 (Step six: Distribute the private marketplace)
프라이빗 마켓플레이스 구성이 동작하는지 확인한 후, 마지막 단계는 조직이 사용하는 MDM 소프트웨어(예: Jamf)로 개발자 머신에 파일을 배포하는 것이에요.
배포할 파일은:
admin-settings.json(조직이 Docker Home을 통해 설정을 관리하지 않는 경우)- 전체
extension-marketplace폴더와 그 하위 폴더
이 파일들은 개발자 머신에 배치되어야 해요. 운영 체제에 따라 대상 위치는 (위에서 언급한 대로): Mac의 /Library/Application Support/com.docker.docker, Windows의 C:\ProgramData\DockerDesktop, Linux의 /usr/share/docker-desktop이에요.
프라이빗 마켓플레이스 구성이 적용되도록 개발자가 Docker Desktop에 로그인되어 있는지 확인하세요. 관리자로서 sign-in을 강제해야 해요.
피드백 (Feedback)
[email protected]으로 이메일을 보내 피드백을 제공하거나 발견한 버그를 보고하세요.