/ / Cómo pasar el argumento al comando docker en gitlab-ci con ejecutor docker - docker, gitlab, gitlab-ci, gitlab-ci-runner

Cómo pasar el argumento al comando docker en gitlab-ci con ejecutor docker - docker, gitlab, gitlab-ci, gitlab-ci-runner

Necesito pasar el --network Opción al comando de ejecución de la ventana acoplable en uno de mis pasos. He intentado configurar el corredor gitlab-ci con el network_mode Opción, pero no funcionó

¿Hay alguna manera de agregar opciones al comando docker en gitlab-ci?

Aquí está mi 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

Actualizar

dedicado está en mi lista de redes, intente con host, mismo resultado

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

Mi servicio de TI en la empresa agrega un complemento para verificar el argumento sobre el inicio del contenedor y obtuve AuthZPlugin.AuthZReq: Use of subnet "1.1.1.1/24" is forbidden

Es por eso que necesito agregar explícitamente --network dedicated

Respuestas

0 para la respuesta № 1

network_mode funciona para cualquier red conocida en el host, puede ponlos en una lista con docker network ls.

dedicated tiene que estar en esa lista para que funcione.

He hecho esto con éxito para el host Red y puede confirmar que esto funciona.


0 para la respuesta № 2

Finalmente encontré una solución gracias a este enlace

Monté un gitlab-dind y lo uso para mi corredor definiendo la variable env -e DOCKER_HOST=tcp://gitlab-dind:2375 y también usar network_mode = "host"

Mi config.toml Se ve como esto :

[[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]