Сборка базового образа контейнера для IAM Proxy#
Назначение#
Данное руководство предназначено для потребителей, которые будут собирать образы контейнеров IAM Proxy в ограниченной инфраструктуре в отношении доступа к получению пакетов/зависимостей.
В связи с тем, что образы контейнеров компонента IAM Proxy в процессе сборки устанавливают пакеты(и их зависимости) для
работы приложений IAM Proxy и Syslog-ng, появляется необходимость обеспечить сборку образа доступом к доверенным
репозиториям с пакетами для yum, apt, python, учитывая особенности инфраструктуры в которой происходит сборка.
Сборка#
Для сборки своего базового образа, необходимо в используемых "чистых" базовых образах настроить подключение к доверенные репозиториям, из которых можно будет загружать зависимости пакеты/зависимости в текущей инфраструктуре (в инфраструктуре, где выполняется сборка образов IAM Proxy).
Пример сборки базового образа для IAM Proxy, RDS-Server, Syslog-ng на базе RHEL UBI8:
FROM registry.mycompany.ru/somecontext/redhat/ubi8:latest
RUN rm -f /etc/yum.repos.d/* && \
echo -en "\
[RHEL8-baseos]\n\
name=RHEL8-baseos\n\
baseurl=http://rhel-repo-mirror.mycompany.ru/repo/rhel8/rhel-8-for-x86_64-baseos-rpms/\n\
gpgcheck=0\n\
enabled=1\n\
\n\
[RHEL8-appstream]\n\
name=RHEL8-appstream\n\
baseurl=http://rhel-repo-mirror.mycompany.ru/repo/rhel8/rhel-8-for-x86_64-appstream-rpms/\n\
gpgcheck=0\n\
enabled=1\n\
\n\
[RHEL8-EPEL]\n\
name=RHEL8-EPEL\n\
baseurl=http://rhel-repo-mirror.mycompany.ru/repo/rhel8/EPEL8/\n\
gpgcheck=0\n\
enabled=1\n\
" > /etc/yum.repos.d/mirror_rhel8.repo && \
mkdir ~/.pip && \
echo -en "\
[global]\n\
index_url=https://token:<some_tocken>@some.osc.domain/osc/repo/pypi/simple\n\
trusted_host=some.osc.domain\n\
default_timeout=200\
" >> ~/.pip/pip.conf
Для сборки базового образа по созданному выше примеру Dockerfile, на АРМ с установленным docker выполнить команды
ниже. При этом ссылки в примере Dockerfile заменить на ссылки из текущей инфраструктуры, а в командах
ниже ubi8-mycompany заменить на имя нового образа.
docker build -t ubi8-mycompany:latest .
docker image tag ubi8-mycompany registry.mycompany.ru/my-base-images/ubi8-mycompany:1.0
docker image push registry.mycompany.ru/my-base-images/ubi8-mycompany:1.0