Перенесення Docker-образів до Nexus-кластера

Цей документ надає детальні інструкції щодо опублікування docker-образів у Nexus-кластері, сховищі артефактів.

1. Передумови

Перед початком переконайтесь, що ви маєте встановлені наступні компоненти:

  • Docker

  • oc CLI

2. Перенесення локального образу до Nexus-кластера

Якщо у вас є локальний образ і ви хочете його перенести до Nexus-кластера, виконайте наступні кроки:

  1. Увійдіть до вашого Docker реєстру за допомогою команди:

    docker login -u ваш_користувач -p ваш_пароль
  2. Витягніть образ, який ви хочете перенести:

    docker pull ваше_ім'я_репозиторію/ім'я_образу:тег
  3. Після отримання усіх необхідних образів локально, перейменуйте їх, використовуючи docker image tag:

    docker image tag ваше_ім'я_репозиторію/ім'я_образу:тег localregistry:5000/control-plane/ім'я_образу:тег
  4. Автентифікуйтеся на Платформі використовуючи oc CLI, токен можна отримати через консоль Openshift у розділі Copy login command.

    push docker image 1
  5. Якщо ви користувач Windows, додайте наступний запис до C:\Windows\System32\drivers\etc\hosts. Якщо ви на Linux, додайте його до /etc/hosts:

    127.0.0.1 localregistry
  6. Відкрийте кілька терміналів, в одному з них виконайте перенаправлення порту до поду Nexus, який можна знайти у проєкті control-plane-nexus в Openshift  Workloads  Pods.

    oc port-forward <ім'я_поди_nexus> 5000:5000 -n control-plane-nexus
  7. Увійдіть до Nexus, пароль можна знайти у секреті nexus-admin-password проєкту control-plane-nexus.

    docker login -u admin -p <секретний_пароль> localregistry:5000
  8. Ви повинні побачити, що вхід успішний, після чого можна виконати push.

    Пам’ятайте, що в іншому терміналі має бути активним перенаправлення порту.
    docker push localregistry:5000/control-plane/ім'я_образу:тег

    Процес може зайняти деякий час. Будь ласка, зачекайте.

  9. Після того, як ваш образ з’явиться в Nexus, ви можете переглянути всі образи у розділі Browse  docker-registry.

    Ви можете потрапити в docker-registry через Openshift  Networking  Routes  Nexus у проєкті control-plane-nexus.
    push docker image 2