容器正在等待 jenkins-slave [jnlp]:创建卷路径时出错 '/var/lib/docker/volumes/8db 权限被拒绝

Container is waiting jenkins-slave [jnlp]: error creating volume path '/var/lib/docker/volumes/8db permission denied

我有一个使用 docker run -d -v /Users/dlovison/Documents/DockerVolumes/jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts 创建的 jenkins 实例,仅部署在我的本地环境中

我想在我的远程 openshift 实例中连接 (openshift.com)

我遵循了教程 http://v1.uncontained.io/playbooks/continuous_delivery/external-jenkins-integration.html 并且所有步骤都有效,除非我的本地 jenkins 尝试通过 jnlp

连接

错误是:

Waiting for Pod to be scheduled (65/100): jenkins-slave-j8gmr-28v7x
Container is waiting jenkins-slave-j8gmr-28v7x [jnlp]: ContainerStateWaiting(message=Error response from daemon: create 110861e4dd42a6343dbd584f09a7967e714feb0155cf070aff167495c01ada39: error while creating volume path '/var/lib/docker/volumes/110861e4dd42a6343dbd584f09a7967e714feb0155cf070aff167495c01ada39/_data': mkdir /var/lib/docker/volumes/110861e4dd42a6343dbd584f09a7967e714feb0155cf070aff167495c01ada39: permission denied, reason=CreateContainerError, additionalProperties={})
Waiting for Pod to be scheduled (66/100): jenkins-slave-j8gmr-28v7x
Container is waiting jenkins-slave-j8gmr-28v7x [jnlp]: ContainerStateWaiting(message=Error response from daemon: create 110861e4dd42a6343dbd584f09a7967e714feb0155cf070aff167495c01ada39: error while creating volume path '/var/lib/docker/volumes/110861e4dd42a6343dbd584f09a7967e714feb0155cf070aff167495c01ada39/_data': mkdir /var/lib/docker/volumes/110861e4dd42a6343dbd584f09a7967e714feb0155cf070aff167495c01ada39: permission denied, reason=CreateContainerError, additionalProperties={})

我的服务帐户包含角色:'admin' 和 'edit'

这是我的管道

apiVersion: v1
kind: BuildConfig
metadata:
  name: sample-pipeline-v4
  labels:
    name: sample-pipeline-v4
spec:
  strategy:
    type: JenkinsPipeline
    jenkinsPipelineStrategy:
      env:
      - name: "FOO"
        value: "BAR"
      jenkinsfile: |-

        def label = "diego-pod-${UUID.randomUUID().toString()}"

        podTemplate(label: label, containers: [
          containerTemplate(name: 'maven', image: 'registry.access.redhat.com/openshift3/jenkins-slave-maven-rhel7', ttyEnabled: true, command: 'cat')
          ]) {

          node(label) {
            stage('Build a Maven project') {
              git 'https://github.com/jenkinsci/kubernetes-plugin.git'
              container('maven') {
                  sh 'mvn -B clean package'
              }
            }
          }
        }

我有插件 https://github.com/openshift/jenkins-sync-plugin/ 可以完成所有艰苦的工作

基本上,它无法在您的 Kubernetes/Openshift 集群上创建卷。从问题中不清楚您的 Openshift 集群在哪里 运行,因此创建卷将取决于您的 cloud/StorageClass。你能试试这些命令吗?

oc get pvc
oc get pv

随着输出

oc describe pvc <name-from-previous-step>
oc describe pv <name-from-previous-step>