Существуют разные подходы, в основном они зависят от того, хотите ли вы использовать docker-in-docker
для построения докеров или просто поделиться хостом /var/run/docker.sock
.Если второй вариант, ваши шаги будут выглядеть так:
Сначала создайте Dockerfiles для ваших любимых контейнеров.Возможно, поместите их в исходные тексты вашего проекта, скажем, Dockerfiles\
подпапка
Затем добавьте один этап в ваш конвейер, например: gitlab-ci.yml
stages:
- prepare-dockers
- test
prepare:
stage: prepare-dockers
image: docker:latest
script:
- docker build -t <use-another-docker-container> Dockerfiles
Таким образом, вы готовите свой контейнер на следующих этапах.Не забывайте, что если вы используете общий доступ к докеру (не чистый dind
), вы подключены к реестру докера вашего хоста, и там будут отображаться все образы.
Но вы также не должны забывать делиться сокетом докера с помощьюредактирование gitlab-config.toml
, чтобы разрешить совместное использование докера (выставить /var/run/docker.sock
).