Создание rhel7-атомарного образа Docker в Windows 10

Моя хост-система - windows 10, и я хотел бы создать образ Docker на основе rhel7-atomic.

Dockerfile:
FROM registry.access.redhat.com/rhel7-atomic
RUN microdnf --enablerepo=rhel-7-server-rpms \
install java-1.8.0-openjdk-headless --nodocs ;\
microdnf clean all

Источник: Представляем базовый образ Red Hat Enterprise Linux Atomic

Вывод:

 $ docker build --force-rm=true --no-cache=true -t=rhel .
 Sending build context to Docker daemon  5.632kB Step 1/2 : FROM
 registry.access.redhat.com/rhel7-atomic  ---> 4364d4c393ff Step 2/2 :
 RUN microdnf --enablerepo=rhel-7-server-rpms                 install
 java-1.8.0-openjdk-headless --nodocs ;microdnf clean all  ---> Running
 in 87b753f6bded

 (process:6): librhsm-WARNING **: 07:20:18.402: Found 0 entitlement
 certificates

 (process:6): librhsm-WARNING **: 07:20:18.404: Found 0 entitlement
 certificates error: (--enablerepo) repo rhel-7-server-rpms not found

 (process:8): librhsm-WARNING **: 07:20:18.433: Found 0 entitlement
 certificates

 (process:8): librhsm-WARNING **: 07:20:18.435: Found 0 entitlement
 certificates Complete. Removing intermediate container 87b753f6bded 
 ---> 77d1aebf6942 Successfully built 77d1aebf6942 Successfully tagged rhel:latest

Я также пробовал это с yum, но получаю ту же ошибку.

Проблема в том, что мне нужно есть подписка на моего хоста. Я зарегистрировался на сайте developers.redhat.com, но не могу запустить subscription-manager в файле dockerfile, потому что команда не может быть найдена. Я нашел здесь еще один вопрос, в котором говорится, что хост-машина должна иметь подписку: Подписка на базовый образ докера атомарного докера Rhel7

Таким образом, кажется, что единственный способ зарегистрировать мой хост и прикрепить действующую подписку - это загрузить официальный rhel ISO image и запускают его на виртуальной машине, подписывают эту хост-систему внутри виртуальной машины на redhat и создают там мой образ докера.

Что мне не нравится в этом способе, так это то, что мне приходится загружать образ rhel размером 7 ГБ и запускать виртуальную машину только из-за отсутствия подписки.

Это правильно? Или есть другой способ, который мне не хватает?

Было бы лучше использовать CentOS или Fedora в качестве базовых образов для сборки докера?

Или проблема не в подписках, а в установке докера в Windows 10: https: // доступ .redhat.com / discussions / 3219221

0
задан 30 June 2019 в 20:00
1 ответ

Проблема в том, что Docker в Windows 10 не знает секретный соус Red Hat, и хост не предлагает подписку для наследования контейнера. Чтобы это заработало, вам нужно запустить сборку на хосте с подпиской, используя пакет docker из репозиториев Red Hat yum.

Я бы порекомендовал CentOS начать с предположения, что вам нужна совместимость с Red Hat до линия. то есть, возможно, это POC, который необходимо запускать на образах / хостах RHEL в процессе производства.

0
ответ дан 23 November 2019 в 23:12

Теги

Похожие вопросы