회사를 Docker로 성공시키도록 설정하기
회사를 Docker로 성공시키도록 설정하기 (Set up your company for success with Docker)
워크플로우를 간소화하고 개발 환경을 표준화하며 회사 전반에 걸쳐 원활한 배포를 보장하는 방법을 설명하는 관리자 가이드예요.
출처: 문서
본문
Docker의 도구는 개발자가 더 빠르게 애플리케이션을 만들고, 배송하고, 실행할 수 있게 해주는 확장 가능하고 안전한 플랫폼을 제공해요. 관리자로서 워크플로우를 간소화하고, 개발 환경을 표준화하며, 조직 전반에 걸쳐 원활한 배포를 보장할 수 있어요.
Docker 제품을 회사의 필요에 맞게 구성하면 성능을 최적화하고, 사용자 관리를 단순화하며, 리소스에 대한 제어를 유지할 수 있어요.
이 가이드는 규정 준수 및 보안 정책을 충족하면서 팀의 생산성과 성공을 극대화하기 위해 Docker 제품을 설정하고 구성하는 데 도움을 줘요.
이 가이드는 누구를 위한 것인가요? (Who's this for?)
- 조직 내 Docker 환경을 관리하는 관리자
- 개발 및 배포 워크플로우를 간소화하려는 IT 리더
- 여러 사용자에 걸쳐 애플리케이션 환경을 표준화하려는 팀
- 더 큰 확장성과 효율성을 위해 Docker 제품 사용을 최적화하려는 조직
- Docker Business 구독이 있는 조직
무엇을 배우게 되나요? (What you'll learn)
- 회사의 Docker 조직에 로그인하면 사용 데이터와 향상된 기능에 접근할 수 있는 이유
- Docker Desktop 버전과 설정을 표준화해 모든 사용자에게 일관된 기준선을 만들면서 고급 개발자에게는 유연성을 제공하는 방법
- 개발자 생산성을 저해하지 않으면서 회사 IT 및 소프트웨어 개발 보안 요구사항을 충족하기 위해 Docker의 보안 구성을 구현하는 전략
다루는 기능 (Features covered)
이 가이드는 다음 Docker 기능을 다뤄요:
- Organizations: 사용자, 팀, 이미지 저장소를 그룹화하여 Docker 환경을 관리하는 핵심 구조. 여러분의 조직은 구독과 함께 생성되며 하나 이상의 소유자가 관리해요. 조직에 로그인한 사용자는 구매한 구독에 따라 seat가 할당돼요.
- Enforce sign-in: 기본적으로 Docker Desktop은 로그인을 요구하지 않아요. 설정을 구성해 이를 강제하고 개발자가 여러분의 Docker 조직에 로그인하도록 보장할 수 있어요.
- SSO: SSO가 없으면 Docker 조직의 사용자 관리는 수동이에요. ID 제공자와 Docker 사이에 SSO 연결을 설정하면 보안 정책을 준수하고 사용자 프로비저닝을 자동화해요. SCIM을 추가하면 사용자 프로비저닝과 디프로비저닝이 더욱 자동화돼요.
- 일반 및 보안 설정: 주요 설정을 구성하면 환경 내에서 Docker 제품의 원활한 온보딩과 사용을 보장해요. 회사의 특정 보안 요구에 따라 보안 기능도 활성화할 수 있어요.
누가 참여해야 하나요? (Who needs to be involved)
- Docker 조직 소유자: 과정에 참여해야 하며 여러 핵심 단계에 필요해요.
- DNS 팀: SSO 설정 중 회사 도메인을 검증하는 데 필요해요.
- MDM 팀: 개발자 머신에 Docker 특정 구성 파일을 배포하는 책임이 있어요.
- ID 제공자 팀: ID 제공자를 구성하고 설정 중 SSO 연결을 수립하는 데 필요해요.
- 개발 리드: 개발자 설정의 기준선을 확립하는 데 도움이 되는 Docker 구성 지식을 가진 개발 리드.
- IT 팀: 회사 데스크톱 정책에 익숙한 IT 담당자가 Docker 구성을 그 정책에 맞추는 데 도움을 줘요.
- Infosec: 회사 개발 보안 정책에 대한 지식을 가진 보안 팀 구성원이 보안 기능을 구성하는 데 도움을 줘요.
- Docker 테스터: 전체 배포 전에 새 설정과 구성을 테스트할 소규모 개발자 그룹.
도구 통합 (Tools integration)
이 가이드는 다음과의 통합을 다뤄요:
- Okta
- Entra ID SAML 2.0
- Azure Connect (OIDC)
- Intune 같은 MDM 솔루션
커뮤니케이션 및 정보 수집 (Communication and information gathering)
개발자 및 IT 팀과 소통하기 (Communicate with your developers and IT teams)
조직 전체에 Docker Desktop을 배포하기 전에 원활한 전환을 위해 주요 이해관계자와 협력하세요.
Docker Desktop 사용자에게 알리기
회사에 이미 Docker Desktop 사용자가 있을 수 있어요. 이 온보딩 과정의 일부 단계는 그들이 플랫폼과 상호작용하는 방식에 영향을 줄 수 있어요. 사용자에게 다음과 같은 사실을 일찍 소통하세요:
- 구독 온보딩의 일부로 지원되는 버전의 Docker Desktop으로 업그레이드될 것
- 생산성을 위해 설정이 검토되고 최적화될 것
- 구독 혜택에 접근하려면 업무 이메일로 회사의 Docker 조직에 로그인해야 할 것
MDM 팀과 협력하기
Intune, Jamf 같은 장치 관리 솔루션은 엔터프라이즈 전반의 소프트웨어 배포에 흔히 사용돼요. 이 도구들은 일반적으로 전용 MDM 팀이 관리해요.
이 팀과 과정 초기에 협력해:
- 변경 배포에 대한 요구사항과 리드 타임을 이해
- 구성 파일의 배포를 조정
이 가이드의 여러 설정 단계는 개발자 머신에 배포할 JSON 파일, 레지스트리 키, 또는 .plist 파일을 요구해요. MDM 도구를 사용해 이러한 구성 파일을 배포하고 무결성을 보장하세요.
Docker 조직 식별하기 (Identify Docker organizations)
일부 회사는 둘 이상의 Docker 조직을 만들었을 수 있어요. 이 조직들은 특정 목적으로 만들어졌거나 더 이상 필요하지 않을 수 있어요.
회사에 여러 Docker 조직이 있다고 의심된다면:
- 팀에 자신만의 조직이 있는지 조사
- Docker Support에 문의해 이메일이 여러분의 도메인 이름과 일치하는 사용자가 있는 조직 목록을 받기
요구사항 수집하기 (Gather requirements)
Settings Management는 Docker Desktop에 대한 수많은 구성 파라미터를 미리 설정하게 해줘요.
회사의 기준선 구성을 확립하기 위해 다음 이해관계자와 협력하세요:
- Docker 조직 소유자
- 개발 리드
- 정보 보안 담당자
함께 다음 영역을 검토하세요:
- 보안 기능과 Docker Desktop 사용자에 대한 로그인 강제
- 구독에 포함된 추가 Docker 제품
미리 설정할 수 있는 파라미터를 보려면 Settings Management 구성을 참조하세요.
선택 사항: Docker Implementation 팀과 미팅 (Optional: Meet with the Docker Implementation team)
Docker Implementation 팀은 조직 설정, SSO 구성, 로그인 강제, Docker Desktop 구성에 도움을 줄 수 있어요.
미팅을 예약하려면 [email protected]으로 이메일을 보내세요.
계획 확정 및 설정 시작 (Finalize plans and begin setup)
확정된 설정 파일을 MDM 팀으로 보내기 (Send finalized settings files to the MDM team)
이전 섹션에 설명된 대로 기준선 및 보안 구성에 대해 관련 팀과 합의한 후, Docker Home을 통해 또는 admin-settings.json 파일로 Settings Management를 구성하세요.
파일이 준비되면 MDM 팀과 협력해 선택한 설정을 로그인 강제 방법과 함께 배포하세요.
중요: 더 널리 배포하기 전에 소수의 Docker Desktop 개발자로 먼저 테스트해 기능이 예상대로 동작하는지 확인하세요.
조직 관리하기 (Manage your organizations)
조직이 둘 이상이라면 하나로 통합하거나 여러 조직을 관리할 Docker company를 만드는 것을 고려하세요.
설정 시작 (Begin setup)
단일 로그인 및 도메인 검증 설정 (Set up single sign-on and domain verification)
단일 로그인(SSO)을 사용하면 개발자가 ID 제공자(IdPs)로 인증해 Docker에 접근할 수 있어요. SSO는 전체 회사와 모든 관련 조직, 또는 Docker Business 구독이 있는 개별 조직에 사용할 수 있어요. 자세한 내용은 문서를 참조하세요.
사용자 프로비저닝과 디프로비저닝의 추가 자동화를 위해 SCIM을 활성화할 수도 있어요.
구독에 포함된 Docker 제품 권한 설정 (Set up Docker product entitlements included in the subscription)
Docker Build Cloud는 전용 원격 빌더와 공유 캐시를 제공해 로컬과 CI 모두에서 빌드 시간을 크게 줄여요. 클라우드 기반으로 개발자 시간과 로컬 리소스가 확보되어 팀이 혁신 같은 더 중요한 일에 집중할 수 있게 해줘요.
시작하려면 클라우드 빌더를 설정하세요.
Docker Scout는 소프트웨어 공급망 보안을 사전에 강화하는 솔루션이에요. 이미지를 분석해 Docker Scout는 구성 요소 목록, 즉 SBOM(Software Bill of Materials)을 작성해요. SBOM은 지속적으로 업데이트되는 취약점 데이터베이스와 대조되어 보안 약점을 찾아내요. 시작하려면 Quickstart를 참조하세요.
Testcontainers Cloud는 개발자가 클라우드에서 컨테이너를 실행할 수 있게 해주어 로컬 머신에서 무거운 컨테이너를 실행할 필요를 없애줘요.
Docker Hardened Images는 Docker가 유지 관리하는 최소한의 안전하고 프로덕션 준비가 된 컨테이너 베이스 및 애플리케이션 이미지예요. 취약점을 줄이고 규정 준수를 단순화하도록 설계된 DHI는 기존 Docker 기반 워크플로우에 약간 또는 전혀 재도구화 없이 쉽게 통합돼요.
지원되는 버전의 Docker Desktop을 실행 중인지 확인 (Ensure you're running a supported version of Docker Desktop)
경고: 이 단계는 이전 버전의 Docker Desktop을 사용하는 사용자에게 영향을 줄 수 있어요.
기존 사용자는 오래되었거나 지원되지 않는 버전의 Docker Desktop을 실행 중일 수 있어요. 모든 사용자는 지원되는 버전으로 업데이트해야 해요. 최신 릴리스에서 지난 6개월 이내에 출시된 Docker Desktop 버전이 지원돼요.
사용자를 위해 Docker Desktop 버전을 관리하려면 MDM 솔루션을 사용하세요. 사용자는 Docker에서 직접 또는 회사 소프트웨어 포털을 통해 Docker Desktop을 받을 수도 있어요.
테스트 (Testing)
SSO 및 SCIM 테스트 (SSO and SCIM testing)
인증된 도메인의 일부인 Docker 계정에 연결된 이메일 주소로 Docker Desktop 또는 Docker Hub에 로그인해 SSO와 SCIM을 테스트하세요.
Docker 사용자 이름으로 로그인하는 개발자는 SSO 및 SCIM 설정의 영향을 받지 않아요.
중요: 일부 사용자는 Docker Hub에 CLI 기반 로그인이 필요할 수 있고, 이를 위해 개인 액세스 토큰(PAT)이 필요할 거예요.
Registry Access Management 및 Image Access Management 테스트 (Test Registry Access Management and Image Access Management)
경고: 이 단계는 여러분의 Docker 조직에 로그인하는 모든 기존 사용자에게 영향을 주므로 진행 전에 사용자에게 소통하세요.
Registry Access Management (RAM) 및/또는 Image Access Management (IAM)을 사용하려면:
- 테스트 개발자가 조직 자격 증명으로 Docker Desktop에 로그인하도록 확인
- 그들이 Docker CLI를 통해 허용되지 않은 이미지나 허용되지 않은 레지스트리의 이미지를 pull하도록 시도
- 레지스트리가 조직에 의해 제한된다는 오류 메시지를 받는지 확인
테스트 그룹에 설정 배포 및 로그인 강제 (Deploy settings and enforce sign in to test group)
MDM을 통해 소규모 테스트 사용자 그룹에 Docker 설정을 배포하고 로그인을 강제하세요. 이 그룹이 Docker Desktop과 Docker Hub에서 컨테이너를 사용한 개발 워크플로우를 테스트해 모든 설정과 로그인 강제가 예상대로 동작하는지 확인하게 하세요.
Docker Build Cloud 기능 테스트 (Test Docker Build Cloud capabilities)
Docker Desktop 테스터 중 한 명이 만든 클라우드 빌더에 연결해 빌드에 사용하게 하세요.
Testcontainers Cloud 테스트 (Test Testcontainers Cloud)
테스트 개발자가 Testcontainers Cloud에 연결하고 클라우드에서 컨테이너를 실행해 설정이 올바르게 동작하는지 확인하게 하세요.
Docker Scout 저장소 모니터링 확인 (Verify Docker Scout monitoring of repositories)
Docker Scout 대시보드를 확인해 Docker Scout가 활성화된 저장소에 대해 데이터가 제대로 수신되고 있는지 확인하세요.
Docker Hardened Images 접근 확인 (Verify access to Docker Hardened Images)
테스트 개발자가 Docker Hardened Image를 pull하도록 시도해 팀이 적절한 접근 권한이 있고 이 이미지를 워크플로우에 통합할 수 있는지 확인하세요.
Docker 설정 배포 (Deploy your Docker setup)
경고: 이 단계들은 여러분의 Docker 조직에 로그인하는 모든 기존 사용자에게 영향을 주므로 진행 전에 사용자와 소통하고, IT 및 MDM 팀이 예기치 않은 문제를 처리할 준비가 되었는지 확인하세요.
SSO 강제 (Enforce SSO)
SSO를 강제한다는 것은 검증된 도메인과 일치하는 이메일 주소를 가진 Docker 프로필이 있는 사람은 누구나 여러분의 SSO 연결로 로그인해야 한다는 뜻이에요. SSO 연결과 관련된 ID 제공자 그룹이 Docker 구독에 접근하길 원하는 모든 개발자 그룹을 포함하는지 확인하세요.
SSO를 강제하는 방법에 대한 지침은 Enforce SSO를 참조하세요.
사용자에게 구성 설정 배포 및 로그인 강제 (Deploy configuration settings and enforce sign-in to users)
MDM 팀이 Docker용 구성 파일을 모든 사용자에게 배포하게 하세요.
다음 단계 (Next steps)
축하합니다, Docker의 관리자 구현 프로세스를 성공적으로 완료했어요.
Docker 환경을 계속 최적화하려면:
- 채택을 추적하기 위해 조직의 사용 데이터 검토
- 보안 인사이트를 위해 Docker Scout 결과 모니터링
- 구성을 강화하기 위해 추가 보안 기능 탐색