Як працює з підпискою на мережу Red Hat у межах зображень Rhel Docker?


10

Red Hat Enterprise Linux 7 включає офіційну підтримку запуску контейнерів Docker, а Red Hat пропонують набір офіційних зображень Rhel Docker. Цікавою особливістю цих зображень є те, що пакети можна встановлювати за допомогою підписки Red Hat Network на хост без необхідності виконувати будь-яку конфігурацію в контейнері.

Цитувати https://access.redhat.com/articles/881893#createimage :

"Для поточного випуску Red Hat Docker зображення за замовчуванням RHEL 7 Docker, яке ви витягуєте з Red Hat, зможе отримати на RHEL 7 права, доступні в хост-системі. Отже, якщо ваш хокер Docker належним чином підписаний і сховища увімкнено, що вам потрібно отримати потрібне програмне забезпечення у вашому контейнері (і мати доступ до Інтернету від вашого хокера Docker), ви повинні мати змогу встановлювати пакети із сховищ програмного забезпечення RHEL 7. "

Мене хвилює те, що механізм, завдяки якому це досягається, є досить непрозорим. Наприклад, запускаючи новий контейнер із зображенням rhel7.1, можна запустити, yum install fooнавіть не конфігуруючи змінні середовища проксі-проксі. Не розуміючи цього механізму, системний адміністратор, можливо, перебуває на користь невідомих взаємодій між хост-системою, демоном Докера та запущеними контейнерами. Це також говорить про те, що нормальна ізоляція між господарем і контейнером певним чином порушена (хоча і доброякісно).

Якщо поставити крапку на цьому: Як досягається ця підтримка підписки, і чи залежить це від користувацької збірки демона Docker, що надається Red Hat через Мережу підписки?



Дякую @michael. На жаль, у мене немає доступу до відповіді, розміщеної на цьому веб-сайті, оскільки я особисто не маю облікового запису підписки Red Hat. (Обліковий запис, який використовує мій роботодавець, веде персонал в інших місцях організації). Я побачу, чи може хтось із відповідним доступом в організації надати мені копію цієї відповіді в КБ.
Лейнос

@michael Ви можете залишити свій коментар як відповідь.
Брам

@MichaelHampton У мене був шанс прочитати відповідь на сайті Red Hat. У будь-якій відповіді, розміщеній тут, можливо, варто зауважити, що функціонал, про який йде мова, залежить від користувацької версії Red Hat у демон Докера.
Лейнос

Відповіді:


4

Red Hat містить патч під dockerназвою "секрет" патч, який монтує інформацію про права в контейнери під час їх запуску.

Ви можете ознайомитись з кращим описом виправлення та посиланням на висхідний PR в проектотомічному / докерному репо:

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

Зауважте, вам потрібно вибрати одну з гілок (посилання переходить до гілки 'docker-1.3.1-rhel'), щоб побачити всю інформацію про перенесений патч.


Отже, якщо ви використовуєте спробу Docker CE (який не має цього шляху), а не Red Hat, який надав Docker, ви не будете мати інформацію про права і yumкоманди всередині вашої збірки Docker або зображення Docker не вдасться?
Raedwald

2

Знаючи, як ліцензуються віртуальні машини, якими керує Red Hat Satellite, і вимкнути коментар @ Leynos, я би сподівався, що є щось подібне virt-who, це сервіс, який спілкується з хостом віртуалізації (vSphere, KVM тощо) і запитує його на знайти деталі візків. Потім він здійснює необхідні дзвінки API в Satellite, щоб дозволити VM використовувати ліцензію центру обробки даних хоста.

Я б очікував, що демон Docker Red Hat надає щось подібне, що дозволяє контейнеру знати, що він працює від передплаченого хостера Docker, і тому використовувати цю підписку.

Також звідси :

ВАЖЛИВО: Запуск контейнерів з командою docker, як описано в цій темі, не вимагає спеціальної реєстрації системи RHEL Atomic Host та додавання підписки. Однак, якщо ви хочете запустити команди yum install в контейнер, контейнер повинен отримати дійсну інформацію про підписку від атомного хоста RHEL, або вона не вийде.

Отже, є щось або в контейнері, або в демон, який може запитати хоста, щоб знайти інформацію про підписку (і, можливо, також інформацію про репо).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.