Моя хост-система - 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
Проблема в том, что Docker в Windows 10 не знает секретный соус Red Hat, и хост не предлагает подписку для наследования контейнера. Чтобы это заработало, вам нужно запустить сборку на хосте с подпиской, используя пакет docker из репозиториев Red Hat yum.
Я бы порекомендовал CentOS начать с предположения, что вам нужна совместимость с Red Hat до линия. то есть, возможно, это POC, который необходимо запускать на образах / хостах RHEL в процессе производства.