Иногда появляется необходимость поднять gitlab со встроенным docker registry внутри закрытого контура, без прикручивания туда сертификатов ssl.
Хоть я и настоятельно советую так не делать, но возможно, кому то пригодится эта инструкция например для тестирования функционала.
И так, вы установили gitlab, но gitlab registry в нём еще не доступен, а очень бы хотелось. Для начала давайте включим этот функционал в gitlab.
Открываем на редактирование наш gitlab.rb, находим в нём следующие строки, раскоменчиваем и указываем следующие значения:
external_url 'http://192.168.1.20' ## Адрес вашего инстанса gitlab
registry_external_url 'http://192.168.1.20:5005' ## Адрес и порт для gitlab registry
gitlab_rails['registry_enabled'] = true ## Включаем встроенный docker registry
registry['registry_http_addr'] = "localhost:5000" ## указываем его http
registry['debug_addr'] = "localhost:5001" ## указываем его debug адрес, эта строчка не обязательна
nginx['listen_port'] = 80 ## Просим встроенный nginx слушать 80 порт
nginx['listen_https'] = false ## запрещаем ему слушать https
Сохраняем и просим gitlab перечитать конфиг с помощью команды:
gitlab-ctl reconfigure
Настраиваем docker daemon.json для работы по http, открываем для редактирования или (если такого файла нет — создаем):
nano /etc/docker/daemon.json
И указываем в нём адрес gitlab registry с портом, которые мы настроили ранее:
{
"insecure-registries" : ["192.168.1.20:5005"]
}
Далее устанавливаем gitlab runner на целевой машине и в volumes так-же указываем путь до docker daemon json, что бы все запущенные раннером контейнеры так же получали конфигурацию нашего «небезопасного» registry :
docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock -v /etc/docker/daemon.json:/etc/docker/daemon.json gitlab/gitlab-runner:latest
Регистрируем раннер в нашем gitlab с помощью:
gitlab-runner register
Более подробно про установку и регистрацию gitlab-runner я писал в статье: Установка и регистрация gitlab-runner в docker контейнере
На этом всё, можно проверять работу докера.
Полезные материалы по теме:
- Установка и регистрация gitlab-runner в docker контейнере
- Настройка E-mail уведомлений Gitlab
- Установка Gitlab в Docker
- Установка shell gitlab runner
- Обновление Gitlab развернутого в Docker
- Настройка работы Gitlab с registry без ssl
- Переменные Gitlab-Ci
- Установка Docker в Linux
- Шпаргалка по работе с Docker
Отправить ответ