특정 환경의 레포지토리 정책 결과 비교
이 단계에서는 잠재적으로 서로 다른 환경에서 저장소 내의 이미지에 대한 정책 결과를 비교하는 개념에 대해 배우게 됩니다. 전용 정책 엔진 없이는 실제 정책 비교를 수행할 수 없지만, 프로세스 및 필수 조건을 이해할 수 있습니다.
Docker 에서 "저장소 (repository)"는 관련 이미지 모음을 의미하며, 종종 latest, 1.0, dev 등과 같은 서로 다른 태그 (tag) 를 갖습니다. 예를 들어, Docker Hub 의 ubuntu 저장소에는 다양한 버전의 Ubuntu 이미지가 포함되어 있습니다.
특정 환경의 저장소에 대한 정책 결과를 비교하는 것은 일반적으로 다음을 포함합니다.
- 해당 저장소 내의 여러 이미지에 대한 정책 평가.
- 이미지가 배포될 환경 고려(예: 개발, 스테이징, 프로덕션). 서로 다른 환경은 서로 다른 정책 요구 사항을 가질 수 있습니다.
- 대상 환경의 맥락에서 이미지에 대한 정책 평가 보고서 분석 및 비교.
저장소에서 여러 이미지를 갖는 것을 시뮬레이션하기 위해 ubuntu 이미지의 다른 태그를 가져오겠습니다. 20.04 태그를 가져오겠습니다.
docker pull ubuntu:20.04
ubuntu:20.04 이미지의 다운로드를 나타내는 출력을 볼 수 있습니다.
20.04: Pulling from library/ubuntu
...
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
이제 ubuntu 저장소에서 두 개의 이미지를 갖게 되었습니다: ubuntu:latest (이전 단계에서 가져온 이미지) 및 ubuntu:20.04.
두 이미지를 모두 보려면 모든 ubuntu 이미지를 나열할 수 있습니다.
docker images | grep ubuntu
다음과 유사한 출력을 볼 수 있으며, 두 태그가 모두 표시됩니다.
ubuntu latest <image_id_latest> <creation_time_latest> <size_latest>
ubuntu 20.04 <image_id_20.04> <creation_time_20.04> <size_20.04>
실제 정책 비교 시나리오에서는 ubuntu:latest 및 ubuntu:20.04에 대해 모두 정책을 평가합니다. 정책 평가 도구는 각 이미지에 대한 보고서를 생성합니다. 그런 다음 이러한 보고서를 비교하고, 특정 환경 (예: "프로덕션 환경 정책") 의 요구 사항에 따라 결과를 필터링하거나 분석할 수 있습니다.
정책 결과를 비교하는 가상의 명령은 다음과 같습니다.
## This is a hypothetical command and will not work in this environment.
## It is shown here for illustrative purposes only.
## policy-eval compare --repository ubuntu --environment production
실제 비교를 수행할 수 없으므로, 이 단계에 대한 확인은 이러한 비교에 필요한 이미지인 ubuntu:latest 및 ubuntu:20.04 이미지를 로컬에서 사용할 수 있는지 확인하는 데 중점을 둡니다.