Согласно официальной документации 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 builddocker pushтак далее)?
Если я не ошибаюсь, вопрос более или менее становится:
Почему клиент-докер и демон-докер не могут находиться в одном и том же контейнере (активирован)