Согласно официальной документации gitlab, один способ включить docker build
внутри ci
трубопроводов, чтобы сделать использование dind
службы (с точки зрения gitlab-ci
услуг).
Однако, как это всегда бывает с заданиями ci, выполняющимися на исполнителях docker:latest
также необходим docker:latest
образ.
Может ли кто-нибудь объяснить:
- В чем разница между
docker:dind
иdocker:latest
изображения? - (что наиболее важно): почему требуется как сервис, так и образ докера (например, как указано в этом примере, связанный с документацией github) для выполнения, например,
docker build
время работы ci?docker:latest
образ (в рамках которого будет выполняться задание !) включает в себя демон docker (и я думаю, что такжеdocker-compose
), которые являются инструментами, необходимыми для необходимых нам команд (например,docker build
docker push
так далее)?
Если я не ошибаюсь, вопрос более или менее становится:
Почему клиент-докер и демон-докер не могут находиться в одном и том же контейнере (активирован)