Публикация контейнера из реестра GitLab в Dockhost
Материал из NoCode Wiki
(перенаправлено с «Публикация контейнера из реестра GitLab в DockHost»)
Для публикации образа контейнера из непубличного репозитория GitLab нужно выполнить следующие действия.
В GitLab
- Зайти в репозитории GitlLab в раздел Settings -> Access Tokens
- Нажимаем "Add new token" и создаем токен с правом read_registry и правами Developer. Также нужно указать дату окончания действия токена (по умолчанию стоит 1 месяц). После этой даты токен станет не активным и будет невозможно загрузить образ из репозитория.
- После создания токен нужно сохранить, т.к. он отображается только в момент создания и посмотреть его больше будет нельзя, только создать новый.
- Зайти в Deploy -> Container Registry и убедится в наличии собранного контейнера и напротив названия тега нажать на кнопку "скопировать", для копирования пути к образу.
В DockHost
- В разделе "Реестры образов" добавить реестр из вашего репозитория, обычно он выглядит так: https://registry.gitlab.com/путь_к_репозиторию (Например: https://registry.gitlab.com/skripov.com/reverse-proxy).
- Выбрать реестр GitLab, указать путь к реестру, в поле "Пользователь" указать ваш логин на GitLab, в поле "Пароль" указать токен полученный на предыдущем шаге.
- В разделе "Контейнеры" добавить новый контейнер - в поле "Образ" указать путь к образу который был скопирован в GitLab (Он выглядит примерно так: registry.gitlab.com/skripov.com/reverse-proxy:main)
- При создании контейнера указать необходимые для работы порт на котором работает приложение (для веб приложений обычно используется 80)
- Войти в управление контейнером и в разделе "Логи" убедится, что контейнер успешно запустился.
- В разделе "Сетевые сервисы - Домены" добавить новый домен
- В разделе "Сетевые сервисы - Маршруты" добавить маршрут для созданного домена, который будет переадресовывать все запросы на созданный контейнер. Также нужно указать порт, который используется контейнером.
Тестирование
Теперь можно ввести в браузере адрес привязанного домена и увидеть ответ от запущенного контейнера. В логах контейнера можно проверить успешность выполнения запроса.
Полезные ссылки
- https://docs.dockhost.ru/ - документация на DockHost
- https://gitlab.com/skripov.com/reverse-proxy/ - пример конфигурации Nginx для настройки его как reverse proxy