GitLab Runner: Construir uma imagem Docker com Docker-in-Docker
Esta documentação faz parte do guia Construção de imagens Docker. Consulte o guia completo aqui: Construa e envie imagens Docker a partir dos seus pipelines GitLab CI/CD utilizando o seu runner Stackhero e Docker-in-Docker.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece-lhe uma solução GitLab Runner cloud fácil de utilizar, concebida para executar os seus jobs GitLab CI/CD de forma eficiente. Eis o que pode esperar:
- Minutos CI/CD ilimitados: não existe faturação por minuto, por isso os seus pipelines podem correr sempre que precisar.
- Vários jobs em simultâneo: execute vários jobs ao mesmo tempo para acelerar todo o seu pipeline.
- Docker executor com suporte para Docker-in-Docker: simplifique a criação e o envio das suas imagens de containers.
- Compatível com GitLab.com e também com qualquer instância GitLab self-managed.
- Uma VM privada e dedicada alimentada por discos NVMe/SSD rápidos para builds consistentes e fiáveis.
- Disponível nas regiões 🇪🇺 Europa e 🇺🇸 USA.
Poupe tempo: pode ligar o seu primeiro GitLab Runner e começar a executar pipelines em apenas alguns minutos!
Aqui tem um exemplo de .gitlab-ci.yml que pode adicionar ao seu repositório. Esta configuração constrói o Dockerfile localizado na raiz do seu projeto:
build-image:
stage: build
image: docker:27
services:
- docker:27-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker info
script:
# Substitua "my-image" pelo nome pretendido:
- docker build -t my-image .
# Opcionalmente, pode executar um teste rápido na imagem construída:
# - docker run --rm my-image /path/to/tests
Nesta configuração, o serviço docker:27-dind inicia o daemon Docker. A variável DOCKER_TLS_CERTDIR: "/certs" ativa uma ligação TLS segura entre o seu job e o daemon Docker.