Gitlab-runner dind results in ERROR: Job failed (system failure): Error response from daemon: OCI runtime create failed: container_linux.go:380:

Gitlab-runner dind results in ERROR: Job failed (system failure): Error response from daemon: OCI runtime create failed: container_linux.go:380:

项目gitlab-运行ner的执行者是docker。我尝试 运行 docker-in-docker 并从管道中得到以下错误:

ERROR: Job failed (system failure): Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: process_linux.go:508: setting cgroup config for procHooks process caused: resulting devices cgroup doesn't match target mode: unknown (docker.go:385:0s)

我遵循了这个指南:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-continuous-deployment-pipeline-with-gitlab-ci-cd-on-ubuntu-18-04,在我阅读了 gitlab CI/CD 和 gitlab-运行ner 的文档之后,但我找不到解决这个问题的方法.

目前这是我的 config.toml 文件:

check_interval = 0
log_level = "debug"

[session_server]
  session_timeout = 1800

[[runners]]
  name = "docker-runner"
  url = my-url
  token = token
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "docker:20"
    privileged = true
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0

这是我的gitlab-ci.yaml

stages:
  - publish

variables:
  DOCKER_TLS_CERTDIR: ""

publish:
  image: docker:20
  stage: publish
  tags:
    - publish
  services:
    - docker:20-dind
  script:
    - docker version

首先我不明白错误信息,其次如何解决这个问题?

我通过 docker 的降级解决了它:

sudo apt-get install --reinstall docker-ce=5:18.09.9~3-0~ubuntu-bionic docker-ce-cli=5:18.09.9~3-0~ubuntu-bionic docker-ce-rootless-extras containerd.io=1.3.9-1

问题是我 运行 在带有 Ubuntu 18 的 V-Server (Virtuozzo) 上。看来 Virtuozzo 目前不支持最新的 Docker 引擎。