설정 관리

설정 관리 (Settings Management)

Settings Management는 관리자가 최종 사용자 머신 전반에 걸쳐 Docker Desktop 설정을 구성하고 강제할 수 있게 해주는 기능이에요.

출처: 문서

본문

Settings Management를 사용하면 조직 내에서 일관된 구성을 유지하고 보안을 강화할 수 있어요.

Settings Management는 누가 사용해야 하나요?

Settings Management는 다음과 같은 조직을 위해 설계되었어요:

  • Docker Desktop 구성을 중앙에서 제어해야 하는 조직
  • 팀 전반에 걸쳐 Docker Desktop 환경을 표준화하고 싶은 조직
  • 규제 환경에서 운영되며 규정 준수 정책을 강제해야 하는 조직

Settings Management는 어떻게 동작하나요?

관리자는 다음 방법 중 하나를 사용해 설정을 정의할 수 있어요:

  • Docker Home: Docker Home을 통해 설정 정책을 만들고 할당해요. 조직 전반의 설정을 관리할 수 있는 웹 기반 인터페이스를 제공해요.
  • admin-settings.json 파일: 사용자 머신에 설정 파일을 배치해 설정을 강제해요. 자동화된 배포와 스크립트 기반 설치에 잘 맞는 방법이에요.

강제된 설정은 사용자가 정의한 구성을 덮어쓰며, 개발자가 수정할 수 없어요.

구성 가능한 설정

Settings Management는 다양한 Docker Desktop 기능을 지원해요:

  • 프록시 구성 (Proxy configurations)
  • 네트워크 설정 (Network settings)
  • 컨테이너 격리 옵션 (Container isolation options)
  • 레지스트리 접근 제어 (Registry access controls)
  • 리소스 제한 (Resource limits)
  • 보안 정책 (Security policies)
  • 클라우드 정책 (Cloud policies)

강제할 수 있는 설정의 전체 목록은 Settings reference에서 확인할 수 있어요.

정책 우선순위

여러 정책이 존재할 때 Docker Desktop은 다음 순서로 적용해요:

  1. 사용자별 정책: 가장 높은 우선순위
  2. 조직 기본 정책: 사용자별 정책이 없을 때 적용
  3. 로컬 admin-settings.json 파일: 가장 낮은 우선순위로, Docker Home 정책에 의해 덮어써짐
  4. 구성 프로필: 프록시 설정을 제어할 때 사용

Settings Management 설정하기

설정 관리 정책은 언제든 만들 수 있지만, 정책이 적용되기 전에 조직에서 도메인을 인증해야 해요.

  1. 조직의 도메인을 추가하고 인증했는지 확인하세요.
  2. 모든 개발자가 조직으로 인증하여 로그인하도록 Sign-in을 강제하세요.
  3. 구성 방법을 선택하세요:
    • macOS 또는 Windows에서 --admin-settings 설치 플래그를 사용해 admin-settings.json을 자동으로 생성
    • admin-settings.json 파일을 수동으로 생성하고 구성
    • Docker Home에서 설정 정책 생성

구성 후 개발자는 다음과 같은 상황에서 강제된 설정을 받게 돼요:

  • Docker Desktop을 종료하고 다시 실행한 뒤 로그인할 때
  • Docker Desktop에 처음으로 로그인하여 실행할 때

참고: 설정 변경 후 Docker Desktop이 사용자에게 자동으로 재시작이나 재인증을 요청하지 않아요. 이런 요구사항을 개발자에게 알려줘야 할 수도 있어요.

개발자 경험

설정이 강제되면:

  • Docker Desktop에서 설정 옵션이 회색으로 표시되고, Dashboard, CLI, 또는 구성 파일을 통해서도 수정할 수 없어요.
  • Enhanced Container Isolation이 활성화되면 개발자는 privileged 컨테이너나 유사한 방법을 사용해 Docker Desktop Linux VM 내부에서 강제된 설정을 변경할 수 없어요.

이렇게 하면 관리자가 관리하는 설정이 어떤 것인지 명확하게 시각적으로 표시하면서도 일관된 환경을 보장할 수 있어요.

적용된 설정 보기

관리자가 Settings Management 정책을 적용하면 Docker Desktop은 GUI에서 대부분의 강제된 설정을 회색으로 표시해요. 하지만 Docker Desktop GUI는 모든 중앙 설정, 특히 관리자가 Docker Home을 통해 적용한 Enhanced Container Isolation (ECI) 설정을 항상 표시하지는 않아요.

해결 방법으로 settings-store.json 파일을 확인해 모든 적용된 설정을 볼 수 있어요:

  • Mac: ~/Library/Application Support/Docker/settings-store.json
  • Windows: %APPDATA%\Docker\settings-store.json
  • Linux: ~/.docker/desktop/settings-store.json

settings-store.json 파일에는 Docker Desktop GUI에 표시되지 않을 수 있는 설정을 포함한 모든 설정이 들어 있어요.

제한 사항

Settings Management에는 다음과 같은 제한 사항이 있어요:

  • 에어갭(air-gapped) 또는 오프라인 환경에서는 동작하지 않아요
  • Docker Hub와의 인증을 제한하는 환경과는 호환되지 않아요

다음 단계

Settings Management 시작하기:

더 알아보기 (Learn more)