GitLab Runner: Construire une image Docker avec Docker-in-Docker
Cette documentation fait partie du guide Construire des images Docker. Consultez le guide complet ici : Construisez et poussez efficacement des images Docker depuis vos pipelines GitLab CI/CD en utilisant les runners Stackhero et Docker-in-Docker.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero vous propose une solution GitLab Runner cloud simple à utiliser, conçue pour exécuter efficacement vos jobs GitLab CI/CD. Voici ce dont vous pouvez bénéficier :
- Minutes CI/CD illimitées : aucune facturation à la minute, vos pipelines s'exécutent quand vous en avez besoin.
- Jobs simultanés : lancez plusieurs jobs en parallèle pour accélérer l'ensemble de votre pipeline.
- Docker executor avec prise en charge de Docker-in-Docker : facilitez la création et le push de vos images de conteneurs.
- Compatible avec GitLab.com ainsi que toute instance GitLab auto-hébergée.
- Une VM privée et dédiée propulsée par des disques NVMe/SSD rapides pour des builds fiables et constants.
- Disponible dans les régions 🇪🇺 Europe et 🇺🇸 USA.
Gagnez du temps : connectez votre premier GitLab Runner et lancez vos pipelines en quelques minutes seulement !
Vous pouvez ajouter l'exemple de .gitlab-ci.yml suivant à votre dépôt. Cette configuration construit le Dockerfile situé à la racine de votre projet :
build-image:
stage: build
image: docker:29
services:
- docker:29-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker info
script:
# Remplacez "my-image" par le nom souhaité :
- docker build -t my-image .
# Optionnellement, lancez un test rapide sur l'image construite :
# - docker run --rm my-image /path/to/tests
Nous utilisons ici la version 29 de l'image Docker. Vous pouvez choisir une version plus récente si besoin. Retrouvez les tags les plus récents sur la page officielle Docker image.
Dans cette configuration, le service docker:29-dind démarre le démon Docker. La variable DOCKER_TLS_CERTDIR: "/certs" active une connexion TLS sécurisée entre votre job et le démon Docker.