Red Hat Enterprise Linux 7 inclut une prise en charge officielle pour l'exécution des conteneurs Docker, et Red Hat propose un ensemble d'images Docker rhel officielles. Une caractéristique intéressante de ces images est que les packages peuvent être installés via l'abonnement Red Hat Network de l'hôte sans avoir à effectuer de configuration dans le conteneur.
Pour citer https://access.redhat.com/articles/881893#createimage :
"Pour la version actuelle de Red Hat Docker, l'image Docker RHEL 7 par défaut que vous extrayez de Red Hat pourra tirer parti des droits RHEL 7 disponibles sur le système hôte. Ainsi, tant que votre hôte Docker est correctement abonné et que les référentiels sont si vous avez besoin d’obtenir le logiciel que vous souhaitez dans votre conteneur (et d’avoir accès à Internet depuis votre hôte Docker), vous devriez pouvoir installer des packages à partir des référentiels logiciels RHEL 7. "
Je crains que le mécanisme permettant d'atteindre cet objectif soit assez opaque. Lors du démarrage d'un nouveau conteneur avec l'image rhel7.1, par exemple, il est possible de s'exécuter yum install foo
sans même configurer les variables d'environnement du proxy http. Sans comprendre ce mécanisme, l'administrateur système est potentiellement à la merci d'interactions inconnues entre le système hôte, le démon Docker et les conteneurs en cours d'exécution. Cela suggère également que l'isolement normal entre l'hôte et le conteneur est en quelque sorte compromis (quoique de manière bénigne).
Pour mettre un point dessus: comment cette prise en charge de l'abonnement est-elle réalisée et dépend-elle de la construction personnalisée du démon Docker fournie par Red Hat via le réseau d'abonnement?
Réponses:
Red Hat transporte un correctif
docker
appelé correctif «secrets» qui monte les informations de droits d'accès dans des conteneurs lorsqu'ils sont exécutés.Vous pouvez voir une meilleure description du patch et un lien vers le PR en amont dans le dépôt projectatomic / docker :
https://github.com/projectatomic/docker/tree/docker-1.13.1-rhel#add-rhel-super-secrets-patchpatch
Remarque, vous devrez sélectionner l'une des branches (le lien va à la branche 'docker-1.3.1-rhel') pour voir toutes les informations sur les correctifs transportés.
la source
yum
commandes dans votre build Docker ou l'image Docker échoueront?En sachant comment les machines virtuelles gérées par Red Hat Satellite sont autorisées, et en partant du commentaire de @ Leynos, je m'attends à ce qu'il y ait quelque chose de similaire à
virt-who
, qui est un service qui parle à l'hôte de virtualisation (vSphere, KVM, etc.) et l'interroge sur trouver les détails des machines virtuelles. Il effectue ensuite les appels d'API nécessaires dans Satellite pour permettre à la machine virtuelle d'utiliser la licence de centre de données de l'hôte.Je m'attendrais à ce que le démon Docker Red Hat fournisse quelque chose de similaire, permettant au conteneur de savoir qu'il s'exécute à partir d'un hôte Docker abonné et donc d'utiliser cet abonnement.
Aussi d' ici :
Donc, il y a quelque chose dans le conteneur ou le démon qui peut interroger l'hôte pour trouver des informations d'abonnement (et probablement aussi des informations de repo).
la source