DHI Select 및 Enterprise 시작하기

DHI Select 및 Enterprise 시작하기

DHI Select·Enterprise 구독을 시작하는 방법을 안내해요. 저장소 미러링, 이미지 커스터마이즈, 커스터마이즈된 이미지 실행, 커스터마이즈 제거·미러링 중지까지 다뤄요.

출처: 문서

본문

이 가이드는 DHI Select 및 Enterprise 구독을 시작하는 방법을 보여줘요. DHI Community와 달리 이 워크플로는 Docker Hub의 조직 네임스페이스로 저장소를 미러링하고, 컴플라이언스 변형(FIPS)에 접근하며, 이미지를 커스터마이즈하고, SLA 기반 업데이트를 받을 수 있게 해줘요.

사전 요구사항(Prerequisites)

이 워크플로를 사용하려면 다음이 필요해요.

각 단계는 해당되는 경우 Docker Hub와 명령줄 지침을 모두 보여줘요. 두 인터페이스 중 하나를 사용하면 돼요.

1단계: 사용할 이미지 찾기

Docker Hub

  1. Docker Hub로 이동해 로그인해요.

  2. 왼쪽 사이드바에서 조직을 선택해요.

  3. Hardened Images > Catalog로 이동해요.

  4. 검색 바나 필터를 사용해 이미지를 찾아요(예: python, node, golang). 이 예시에서는 python을 검색해 봐요.

    컴플라이언스 변형(FIPS나 STIG)이 있는 이미지를 검색하려면 Filter by를 선택하고 관련 컴플라이언스 옵션을 선택해요.

  5. Python 저장소를 선택해 상세 정보를 봐요.

  6. Images를 선택해 사용 가능한 이미지 변형을 봐요.

명령줄

  1. 사용 가능한 이미지 저장소를 나열해요.

    $ docker dhi catalog list --type image
    
  2. 이름과 FIPS 컴플라이언스로 필터링하려면 --filter와 --fips 플래그를 사용해요.

    $ docker dhi catalog list --filter python --fips
    
  3. 저장소의 이미지 세부 정보를 가져와요.

    $ docker dhi catalog get python
    

다음 단계로 계속 진행해 이미지를 미러링해요. 이미지 탐색을 더 자세히 알고 싶다면 Search and evaluate Docker Hardened Images 문서를 봐요.

2단계: 저장소 미러링하기

미러링은 DHI 저장소를 Docker Hub의 조직 네임스페이스로 복사해요. 이렇게 하면 이미지에 대한 SLA 기반 Docker 보안 패치를 받고 커스터마이징과 컴플라이언스 변형을 사용할 수 있어요. 저장소를 미러링할 수 있는 사람은 조직 소유자뿐이에요.

Docker Hub

  1. 이전 단계에서 찾은 이미지 저장소 세부 정보 페이지에서 Use this image > Mirror repository를 선택해요. 이 작업을 수행하려면 Docker Hub에 로그인되어 있어야 해요.
  2. Mirror를 선택해요.
  3. 이미지 미러링이 끝날 때까지 기다려요. 몇 분이 걸릴 수 있어요.
  4. 미러링된 저장소가 dhi- 접두사(예: dhi-python)로 조직 네임스페이스에 나타나는지 확인해요.

명령줄

다음 명령을 사용하려면 Docker 토큰으로 DHI CLI 인증을 인증하거나 구성해야 해요. 자세한 내용은 Use the DHI CLI를 봐요.

  1. 저장소를 조직 네임스페이스로 미러링을 시작해요. <your-org>를 조직 이름으로 바꿔요.

    $ docker dhi mirror start --org <your-org> dhi/python,<your-org>/dhi-python
    
  2. 이미지 미러링이 끝날 때까지 기다려요. 몇 분이 걸릴 수 있어요.

  3. 미러링된 저장소를 확인해요. <your-org>를 조직 이름으로 바꿔요.

    $ docker dhi mirror list --org <your-org>
    

다음 단계로 계속 진행해 이미지를 커스터마이즈해요. 미러링을 더 자세히 알고 싶다면 Mirror a repository 문서를 봐요.

3단계: 이미지 커스터마이즈하기

DHI Select와 Enterprise의 핵심 이점 중 하나는 미러링된 이미지를 커스터마이즈할 수 있다는 점이에요. 시스템 패키지를 추가하고, 설정을 구성하거나, 조직의 특정 요구사항을 충족하도록 다른 수정을 할 수 있어요.

이 예시는 미러링된 Python 이미지에 curl 시스템 패키지를 추가하는 방법을 보여줘요.

Docker Hub

  1. Docker Hub의 조직 네임스페이스로 이동해요.
  2. 미러링된 저장소(예: dhi-python)로 이동해요.
  3. Customizations를 선택해요.
  4. Create customization을 선택해요.
  5. 3-alpine3.23을 검색하고 이미지 중 하나를 선택해요.
  6. Add packages에서 curl을 선택해요.
  7. Next: Configure를 선택해요.
  8. Customization name에 커스터마이즈 이름(예: curl)을 입력해요.
  9. Next: Review customization을 선택해요.
  10. Create customization을 선택해 빌드를 시작해요.

커스터마이즈 빌드는 몇 분 걸릴 수 있어요. 미러링된 저장소의 Customizations 탭으로 가서 Last build 열에서 빌드 상태를 확인해요.

명령줄

다음 명령을 사용하려면 Docker 토큰으로 DHI CLI 인증을 인증하거나 구성해야 해요. 자세한 내용은 Use the DHI CLI를 봐요.

  1. 커스터마이즈를 만들어요. <your-org>를 조직 이름으로 바꿔요. 커스터마이즈 세부 정보가 담긴 my-customization.yaml 파일이 생성돼요.

    $ docker dhi customization prepare --org <your-org> python 3-alpine3.23 \
        --destination <your-org>/dhi-python \
        --name "python with curl" \
        > my-customization.yaml
    
  2. 커스터마이즈에 curl 패키지를 추가해요. 텍스트나 코드 편집기로 파일을 편집할 수 있어요. 다음 명령은 echo를 사용해 YAML 파일에 필요한 줄을 추가해요.

    $ echo "contents:" >> my-customization.yaml
    $ echo "  packages:" >> my-customization.yaml
    $ echo "    - curl" >> my-customization.yaml
    
  3. 커스터마이즈를 적용해요.

    $ docker dhi customization create --org <your-org> my-customization.yaml
    
  4. 커스터마이즈가 생성되었는지 확인해요.

    $ docker dhi customization list --org <your-org>
    

커스터마이즈 빌드는 몇 분 걸릴 수 있어요. 빌드 상태를 확인하려면:

  1. Docker Hub의 조직 네임스페이스로 이동해요.
  2. 미러링된 저장소(예: dhi-python)로 이동해요.
  3. Customizations를 선택해요.
  4. Last build 열에서 빌드 상태를 확인해요.

커스터마이즈를 더 자세히 알아보려면 Customize a Docker Hardened Image 문서를 봐요.

4단계: 커스터마이즈된 이미지 풀 및 실행

커스터마이즈 빌드가 완료된 후 Docker Hub의 조직 네임스페이스에서 커스터마이즈된 이미지를 풀·실행할 수 있어요.

  1. Docker Hub에 로그인해요.

    $ docker login
    
  2. 조직에서 커스터마이즈된 이미지를 풀해요. <your-org>를 조직 이름으로 바꿔요. 커스터마이즈 태그에는 커스터마이즈 이름에 기반한 접미사가 포함돼요.

    $ docker pull <your-org>/dhi-python:3-alpine3.23_python-with-curl
    
  3. 이미지를 실행하고 curl이 설치되었는지 테스트해요.

    $ docker run --rm <your-org>/dhi-python:3-alpine3.23_python-with-curl curl --version
    

    이로써 curl 패키지가 이미지에 성공적으로 추가되었음을 확인할 수 있어요.

이미지 사용을 더 자세히 알아보려면 다음을 봐요.

5단계: 커스터마이즈 제거 및 미러링 중지

커스터마이즈를 제거하고 미러링을 중지하려면:

  1. 조직 네임스페이스로 이동해요.
  2. 미러링된 저장소(예: dhi-python)로 이동해요.
  3. Customizations를 선택해요.
  4. 삭제할 커스터마이즈(예: python with curl)를 찾아요.
  5. 휴지통 아이콘을 선택해요.
  6. Delete customization을 선택해 삭제를 확인해요.
  7. 미러링을 중지하려면 조직의 저장소 목록으로 돌아가요.
  8. 미러링된 저장소(예: dhi-python)를 찾아요.
  9. Settings를 선택해요.
  10. Stop mirroring을 선택해요.
  11. Stop mirroring을 선택해 확인해요.

다음 단계(What's next)

Docker Hardened Image를 미러링, 커스터마이즈, 실행했어요. 계속 진행할 몇 가지 방법이 있어요.

  • Migrate existing applications to DHIs: Gordon을 사용해 Dockerfile을 Docker Hardened Images를 베이스로 업데이트해요.

  • Verify DHIs: Docker Scout나 Cosign 같은 도구로 SBOM, provenance 같은 서명된 attestation을 검사·검증해요.

  • Scan DHIs: Docker Scout나 다른 스캐너로 이미지를 분석해 알려진 CVE를 식별해요.

더 알아보기 (Learn more)