容器正在等待 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>
我有一个使用 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>