/ / Jak przekazać argument do polecenia dokera w gitlab-ci z executorem dokera - docker, gitlab, gitlab-ci, gitlab-ci-runner

Jak przekazać argument do polecenia docker w gitlab-ci z executorem docker - docker, gitlab, gitlab-ci, gitlab-ci-runner

Muszę zdać --network opcja polecenia uruchamiania dokera w jednym z moich kroków. Próbowałem skonfigurować gitlab-ci runner z network_mode opcja, ale nie działała

Czy jest jakiś sposób na dodanie opcji do polecenia dokera w gitlab-ci?

Tutaj jest mój config.toml :

[[runners]]
name = "Docker Runner"
url = "https://gitlab.company.com"
token = "9621bf2aba8b979b"
executor = "docker"
[runners.docker]
tls_verify = false
image = "alpine:latest"
privileged = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
network_mode = "dedicated"
shm_size = 0

Aktualizacja

dedykowany jest na mojej liście sieci, spróbuj z hostem, ten sam wynik

NETWORK ID          NAME                DRIVER              SCOPE
0ec4c3c2d4be        bridge              bridge              local
977b613d726e        dedicated           bridge              local
45a0fadc2ce7        host                host                local
9f7251c769ca        none                null                local

Moja usługa IT w firmie dodaje wtyczkę, aby sprawdzić argument przy starcie kontenera i mam AuthZPlugin.AuthZReq: Use of subnet "1.1.1.1/24" is forbidden

Dlatego muszę wyraźnie dodać --network dedicated

Odpowiedzi:

0 dla odpowiedzi № 1

network_mode działa dla wszystkich znanych sieci na hoście, możesz Wymień je z docker network ls.

dedicated musi znajdować się na tej liście, aby działało.

Udało mi się to zrobić dla host sieć i może potwierdzić, że to działa.


0 dla odpowiedzi nr 2

W końcu znalazłem rozwiązanie dzięki ten link

Montuję gitlab-dind i używam go dla mojego biegacza, definiując zmienną env -e DOCKER_HOST=tcp://gitlab-dind:2375 a także używać network_mode = "host"

Mój config.toml wygląda tak :

[[runners]]
name = "Runner"
url = "https://gitlab.company.com"
token = "ff10e2ae64be1a2f246f5f89e0bc63"
executor = "docker"
[runners.docker]
host = "tcp://gitlab-dind:2375"
tls_verify = false
image = "docker:latest"
privileged = true
disable_cache = false
volumes = ["/cache"]
network_mode = "host"
shm_size = 0
[runners.cache]