GitLab: Docker-images bouwen in uw GitLab CI
Deze documentatie maakt deel uit van de CI/CD-gids. Bekijk de volledige gids hier: Hoe GitLab CI/CD te gebruiken.
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt een kant-en-klare GitLab cloud oplossing, speciaal ontworpen voor teams die behoefte hebben aan een snelle, veilige en schaalbare omgeving:
- Onbeperkt aantal gebruikers, repositories, dataverkeer en CI/CD-verwerkingstijd voor maximale flexibiliteit.
- Moeiteloze updates met één klik, zodat uw omgeving altijd up-to-date blijft zonder downtime.
- Eigen domeinnaam beveiligd met HTTPS (bijvoorbeeld https://git.uw-bedrijf.com) voor een professionele uitstraling en optimale beveiliging.
- Consistente performance en sterke beveiliging op uw eigen privé, dedicated infrastructuur. Geen last van andere gebruikers en volledige isolatie.
- Keuze uit hostinglocatie: 🇪🇺 Europa of 🇺🇸 USA afhankelijk van uw compliance- of latency-eisen.
Start snel en focus op uw code. Stackhero's GitLab cloud hosting oplossing is binnen ongeveer 5 minuten klaar voor gebruik.
Als uw projectrepository Dockerfile-bestanden bevat, kunt u het proces van het bouwen, uitvoeren en – indien nodig – publiceren van Docker-images naar een registry automatiseren.
Stap 1: Docker in Docker (DinD) support inschakelen
Begin met het inschakelen van "Docker in Docker" (DinD) support in uw Stackhero-dashboard.

Het inschakelen van DinD support brengt een beveiligingsrisico met zich mee, vooral als u gebruikers wilt isoleren en wilt voorkomen dat zij toegang krijgen tot elkaars projecten.
Stap 2: De GitLab CI-pijplijn configureren
Werk vervolgens uw gitlab-ci.yml-bestand bij om een pijplijnconfiguratie op te nemen die uw Dockerfile bouwt met behulp van DinD. Hieronder vindt u een voorbeeldconfiguratie:
image: docker:29
build:
stage: build
services:
- name: docker:29-dind
alias: docker
variables:
# Wijs de docker CLI naar de Docker-in-Docker-service via de
# niet-versleutelde (non-TLS) poort. Zie de opmerking hieronder over het belang van DOCKER_HOST.
DOCKER_HOST: "tcp://docker:2375"
DOCKER_TLS_CERTDIR: ""
before_script:
- docker info
script:
# Vervang "my-docker-image" door de gewenste naam van uw image:
- docker build -t my-docker-image .
# Optioneel: test de Docker-image:
# - docker run my-docker-image /script/to/run/tests
De docker:29-dind-service start een Docker-daemon naast uw job, en DOCKER_HOST geeft aan de docker CLI door dat deze die daemon moet gebruiken. Stel altijd DOCKER_HOST in wanneer u een docker:dind-service declareert: als u dit weglaat, maakt de CLI ongemerkt verbinding met een andere daemon en kan uw build slagen, zelfs als de service verkeerd is geconfigureerd, waardoor echte problemen verborgen blijven. DOCKER_TLS_CERTDIR: "" zorgt ervoor dat poort 2375 (zonder TLS) op het interne jobnetwerk wordt gebruikt.
Als eenvoudig alternatief kunt u het hele services-blok en beide variabelen weglaten: de Stackhero-runner stelt al een kant-en-klare Docker-daemon beschikbaar via een gemounte socket, dus een eenvoudige docker build werkt direct.
Voor meer informatie over het bouwen van Docker-images met GitLab CI, raadpleeg de officiële GitLab-documentatie.