Публикация контейнера из реестра GitLab в Dockhost: различия между версиями

Материал из NoCode Wiki
мНет описания правки
(нет различий)

Версия от 16:33, 7 декабря 2024

Для публикации образа контейнера из непубличного репозитория GitLab нужно выполнить следующие действия.

В GitLab

  1. Зайти в репозитории GitlLab в раздел Settings -> Access Tokens
  2. Нажимаем "Add new token" и создаем токен с правом read_registry и правами Developer. Также нужно указать дату окончания действия токена (по умолчанию стоит 1 месяц). После этой даты токен станет не активным и будет невозможно загрузить образ из репозитория.
  3. После создания токен нужно сохранить, т.к. он отображается только в момент создания и посмотреть его больше будет нельзя, только создать новый.
  4. Зайти в Deploy -> Container Registry и убедится в наличии собранного контейнера и напротив названия тега нажать на кнопку "скопировать", для копирования пути к образу.

В DockHost

  1. В разделе "Реестры образов" добавить реестр из вашего репозитория, обычно он выглядит так: https://registry.gitlab.com/путь_к_репозиторию (Например: https://registry.gitlab.com/skripov.com/reverse-proxy).
  2. Выбрать реестр GitLab, указать путь к реестру, в поле "Пользователь" указать ваш логин на GitLab, в поле "Пароль" указать токен полученный на предыдущем шаге.
  3. В разделе "Контейнеры" добавить новый контейнер - в поле "Образ" указать путь к образу который был скопирован в GitLab (Он выглядит примерно так: registry.gitlab.com/skripov.com/reverse-proxy:main)
  4. При создании контейнера указать необходимые для работы порт на котором работает приложение (для веб приложений обычно используется 80)
  5. Войти в управление контейнером и в разделе "Логи" убедится, что контейнер успешно запустился.
  6. В разделе "Сетевые сервисы - Домены" добавить новый домен
  7. В разделе "Сетевые сервисы - Маршруты" добавить маршрут для созданного домена, который будет переадресовывать все запросы на созданный контейнер. Также нужно указать порт, который используется контейнером.

Тестирование

Теперь можно ввести в браузере адрес привязанного домена и увидеть ответ от запущенного контейнера. В логах контейнера можно проверить успешность выполнения запроса.


Полезные ссылки