Red Hat Network 구독을 통한 yum은 rhel Docker 이미지 내에서 어떻게 작동합니까?

Red Hat Network 구독을 통한 yum은 rhel Docker 이미지 내에서 어떻게 작동합니까?

Red Hat Enterprise Linux 7에는 Docker 컨테이너 실행에 대한 공식 지원이 포함되어 있으며 Red Hat은 공식 rhel Docker 이미지 세트를 제공합니다. 이러한 이미지의 흥미로운 기능은 컨테이너 내에서 어떤 구성도 수행하지 않고도 호스트의 Red Hat Network 구독을 통해 패키지를 설치할 수 있다는 것입니다.

인용하려면https://access.redhat.com/articles/881893#createimage:

"현재 Red Hat Docker 릴리스의 경우 Red Hat에서 가져오는 기본 RHEL 7 Docker 이미지는 호스트 시스템에서 사용 가능한 RHEL 7 권한을 활용할 수 있습니다. 따라서 Docker 호스트가 올바르게 구독되고 리포지토리가 컨테이너에 원하는 소프트웨어를 가져와야 하고 Docker 호스트에서 인터넷에 액세스해야 하는 경우 RHEL 7 소프트웨어 리포지토리에서 패키지를 설치할 수 있어야 합니다."

내 우려는 이것이 달성되는 메커니즘이 다소 불투명하다는 것입니다. 예를 들어 rhel7.1 이미지로 새 컨테이너를 시작할 때 yum install foohttp 프록시 환경 변수를 구성하지 않고도 실행할 수 있습니다 . 이 메커니즘을 이해하지 못하면 시스템 관리자는 잠재적으로 호스트 시스템, Docker 데몬 및 실행 중인 컨테이너 간의 알려지지 않은 상호 작용에 휘말릴 수 있습니다. 이는 또한 호스트와 컨테이너 사이의 일반적인 격리가 어떤 방식으로든 손상되었음을 나타냅니다(양호한 방식이기는 하지만).

요점을 말하자면: 이 구독 지원은 어떻게 달성되며, 구독 네트워크를 통해 Red Hat이 제공하는 Docker 데몬의 사용자 정의 빌드에 의존합니까?

답변1

dockerRed Hat은 실행 시 자격 정보를 컨테이너에 마운트하는 '비밀' 패치라는 패치를 제공합니다 .

패치에 대한 더 나은 설명과 업스트림 PR에 대한 링크를 볼 수 있습니다.프로젝트아토믹/도커저장소:

https://github.com/projectatomic/docker/tree/docker-1.13.1-rhel#add-rhel-super-secrets-patchpatch

참고로, 전달된 모든 패치 정보를 보려면 분기 중 하나를 선택해야 합니다(링크는 'docker-1.3.1-rhel' 분기로 이동함).

답변2

virt-whoRed Hat Satellite에서 관리하는 가상 머신의 라이선스가 부여되는 방식을 알고 @Leynos의 의견에 따르면 가상화 호스트(vSphere, KVM 등)와 통신하여 쿼리하는 서비스인 와 비슷한 것이 있을 것으로 예상됩니다. VM의 세부정보를 찾습니다. 그런 다음 VM이 호스트의 데이터 센터 라이센스를 사용할 수 있도록 Satellite에서 필요한 API 호출을 수행합니다.

Red Hat docker 데몬도 유사한 기능을 제공하여 컨테이너가 구독된 Docker 호스트에서 실행 중임을 알 수 있으므로 해당 구독을 사용할 수 있을 것으로 기대합니다.

또한여기:

중요: 이 주제에 설명된 대로 docker 명령을 사용하여 컨테이너를 실행하는 데에는 RHEL Atomic Host 시스템을 등록하고 구독을 연결할 필요가 없습니다. 그러나 컨테이너 내에서 yum install 명령을 실행하려면 컨테이너가 RHEL Atomic Host에서 유효한 구독 정보를 가져와야 합니다. 그렇지 않으면 실패합니다.

따라서 컨테이너나 데몬에는 호스트에 쿼리하여 구독 정보(그리고 저장소 정보도 가능)를 찾을 수 있는 것이 있습니다.

관련 정보