【发布时间】:2019-09-03 11:41:25
【问题描述】:
我想在 GitLab 中设置 CI/CD。 所以我在 linux 上安装了 docker 和 gitlab-runner,为 runner 创建了一个配置并启动了一切。到目前为止一切顺利。
跑步者工作,码头工人工作。
但我使用的是 windows 的 linux 子系统,所以我需要使用参数“--network host”运行 docker 容器,否则它们将无法工作。
所以现在我尝试通过“network_mode”参数配置 gitlab-runner 以使用主机网络。但它不起作用。我得到了同样的错误,就像我直接运行一个 docker 容器并且没有“--network host”一样。
错误:
警告:准备失败:来自守护进程的错误响应:oci 运行时错误:container_linux.go:265:启动容器进程导致“process_linux.go:368:容器初始化导致\”process_linux.go:351:运行预启动挂钩 0 导致\\"错误运行钩子:退出状态1,stdout:,stderr:time=\\\\"2019-04-12T18:42:33+02:00\\\\" level=fatal msg=\\\\ “未能将接口 vethfc7c8d1 添加到沙箱:无法按名称获取链接 \\\\\\\\"vethfc7c8d1\\\\\\\\": 找不到链接\\\\" \\n\\"\ "" (executor_docker.go:423:16s) 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 运行器创建容器以使用主机网络,如 docker 参数:“--network host”
【问题讨论】:
标签: docker gitlab-ci gitlab-ci-runner windows-subsystem-for-linux runner