GitLab Runner: Budowanie obrazu Docker z Docker-in-Docker
Ta dokumentacja jest częścią przewodnika Budowanie obrazów Docker. Pełny przewodnik znajdziesz tutaj: Buduj i wysyłaj obrazy Docker bezpośrednio z pipeline’ów GitLab CI/CD, korzystając z własnego Stackhero runnera i Docker-in-Docker.
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje łatwe w użyciu rozwiązanie GitLab Runner cloud, zaprojektowane do wydajnej obsługi zadań GitLab CI/CD. Oto, czego możesz się spodziewać:
- Nielimitowane minuty CI/CD: brak rozliczania za minuty, więc Twoje pipeline'y mogą działać zawsze, gdy tego potrzebujesz.
- Wiele równoczesnych zadań: uruchamiaj kilka jobów jednocześnie, aby przyspieszyć cały pipeline.
- Docker executor z obsługą Docker-in-Docker: usprawnij budowanie i wysyłanie swoich obrazów kontenerów.
- Kompatybilny zarówno z GitLab.com, jak i każdą samodzielnie zarządzaną instancją GitLab.
- Prywatna, dedykowana maszyna wirtualna (VM) oparta na szybkich dyskach NVMe/SSD, zapewniająca stabilne i niezawodne buildy.
- Dostępny w regionach 🇪🇺 Europa oraz 🇺🇸 USA.
Oszczędzaj czas: możesz podłączyć swojego pierwszego GitLab Runnera i uruchomić pipeline'y w zaledwie kilka minut!
Poniżej znajdziesz przykładowy plik .gitlab-ci.yml, który możesz dodać do swojego repozytorium. Ta konfiguracja buduje Dockerfile znajdujący się w katalogu głównym projektu:
build-image:
stage: build
image: docker:27
services:
- docker:27-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker info
script:
# Zamień "my-image" na wybraną nazwę:
- docker build -t my-image .
# Opcjonalnie możesz uruchomić szybki test na zbudowanym obrazie:
# - docker run --rm my-image /path/to/tests
W tej konfiguracji serwis docker:27-dind uruchamia demona Docker. Zmienna DOCKER_TLS_CERTDIR: "/certs" umożliwia bezpieczne połączenie TLS pomiędzy zadaniem a demonem Docker.