Я хочу настроить CI / CD в GitLab. Итак, я установил докер и gitlab-runner на linux, создал конфигурацию для бегуна и все запустил. Все идет нормально.
Бегунок работает, а докер работает.
Но я использую подсистему linux из Windows, поэтому мне нужно запустить контейнер докеров с параметром «--network host», иначе они не будут работать.
Итак, прямо сейчас я пытаюсь настроить gitlab-runner для использования хост-сети с помощью параметра «network_mode». Но это не работает. Я получаю ту же ошибку, как если бы я запускал контейнер докеров напрямую и без «--network host».
Ошибка:
ПРЕДУПРЕЖДЕНИЕ: Подготовка не удалась: ответ об ошибке от демона: ошибка времени выполнения oci: container_linux.go: 265: запуск процесса контейнера вызвал "process_linux.go: 368: инициализация контейнера вызвала \" process_linux.go: 351: запуск prestart hook 0 вызвал \\ " ошибка выполнения обработчика: статус выхода 1, stdout:, stderr: time = \\\\ "2019-04-12T18: 42: 33 + 02: 00 \\\\" level = fatal msg = \\\\ "не удалось добавить интерфейс vethfc7c8d1 в песочницу: не удалось получить ссылку по имени \\\\\\\\ "vethfc7c8d1 \\\\\\\\": Ссылка не найдена \\\\ "\\ n \\" \ "" ( executeor_docker.go: 423: 16 с) job = 123project = 123 runner = 123
Это мой конфиг:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "MyHostName"
url = "https://my.gitlab.url/"
token = "SoMeFaNcYcOdE-e"
executor = "docker"
[runners.docker]
tls_verify = false
image = "beevelop/ionic:latest"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
network_mode = "host"
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
У меня вопрос: как заставить gitlab runner создавать контейнеры для использования сети хоста, как с параметром docker: "--network host"