#docker #gitlab #gitlab-ce
# #docker #gitlab #gitlab-ce
Вопрос:
У меня сервер Ubuntu 18.04. На этом сервере запущен экземпляр gitlab-ce 12.7.5 в контейнере docker и gitlab-runner 12.8.0 также в контейнере docker. С нескольких дней все конвейеры выходят из строя с:
*Running with gitlab-runner 12.8.0 (1b659122)
on ddddd kbuTsA6j
Using Docker executor with image ubuntu:18.04 ...
00:02
Pulling docker image ubuntu:18.04 ...
Using docker image sha256:2c047404e52d7f17bdac4121a13cd844447b74e13063f8cb8f8b314467feed06 for ubuntu:18.04 ...
ERROR: Job failed (system failure): Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: process_linux.go:422: setting cgroup config for procHooks process caused: resulting devices cgroup doesn't match target mode: unknown (executor_docker.go:810:0s)*
Файл config.toml контейнера gitlab-runner выглядит следующим образом:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "ddddd"
url = "https://myreplacedname.stratoserver.net:8929/"
token = "kbuTsA6jgE_GrM"
tls-ca-file = "/etc/gitlab-runner/certs/myreplacedname.stratoserver.net.crt"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.docker]
tls_verify = false
image = "docker:19.03.1"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/srv/gitlab-runner/config:/etc/gitlab-runner", "/cache", "/builds:/builds"]
shm_size = 0
Еще несколько дней назад все работало нормально. Я был бы очень рад, если бы вы могли мне помочь. Спасибо!
Ответ №1:
Я потратил несколько дней, пытаясь найти решение той же проблемы. Я обнаружил, что присвоение значения false
privileged
полю вашего [runners.docker]
раздела решает эту проблему.
Итак, в вашем случае результирующая конфигурация будет выглядеть так:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "ddddd"
url = "https://myreplacedname.stratoserver.net:8929/"
token = "kbuTsA6jgE_GrM"
tls-ca-file = "/etc/gitlab-runner/certs/myreplacedname.stratoserver.net.crt"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.docker]
tls_verify = false
image = "docker:19.03.1"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/srv/gitlab-runner/config:/etc/gitlab-runner", "/cache", "/builds:/builds"]
shm_size = 0
Конечно, чтобы применить эти изменения, вы должны перезапустить свой экземпляр gitlab-runner после выполнения этих действий. Надеюсь, это вам тоже поможет.
Комментарии:
1. большое вам спасибо!!! Я также трачу 3 дня на эту проблему раньше. 🙂 это очень странно. Прежний не функционировал бы без «privileged = true», а теперь необходимо обратное.. Я спрашиваю себя, тестируют ли создатели документации даже свою собственную документацию. Но теперь он работает с предложенным вами исправлением.
2. Большое вам спасибо!
3. Это сработало, спасибо