簡體   English   中英

獲取錯誤:使用 jenkins 構建 docker 映像時權限被拒絕

[英]Get error: permission denied when building docker image using jenkins

我配置了一個 jenkins 管道來構建一個從 github 獲取的項目。 但我在第 2 步 - 構建映像時遇到錯誤。 然后,我嘗試將用戶 admin(jenkins 的)添加到“docker”組,並且在 kubernetes master vm 中以用戶 admin 登錄時,我可以成功運行構建命令而不會出錯,但是 jenkins 仍然出錯。 我使用 blueocean 插件來創建管道。 你知道如何解決這個問題嗎?

在此處輸入圖片說明

更新:請查看我的 jenkinsfile

pipeline {

  environment {
    registry = "192.168.64.162:5000/justme/myweb"
    dockerImage = ""
  }

  agent any

  stages {

    stage('Checkout Source') {
      steps {
        git 'https://github.com/taibc/playjenkins.git'        
      }
    }

    stage('Build image') {      
      steps{

        script {
          dockerImage = docker.build registry + ":$BUILD_NUMBER"
        }
      }
    }

    stage('Push Image') {
      steps{
        script {
          docker.withRegistry( "" ) {
            dockerImage.push()
          }
        }
      }
    }

    stage('Deploy App') {
      steps {
        script {
          kubernetesDeploy(configs: "myweb.yaml", kubeconfigId: "mykubeconfig")
        }
      }
    }

  }

}

我通過將 Jenkins 安裝到另一台服務器(不屬於 kubernetes 集群)來解決這個問題。 但是,在將應用程序部署為鏈接時,我遇到了另一個問題: https : //github.com/jenkinsci/kubernetes-cd-plugin/issues/122

這是我的 yaml 文件

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: myweb
  name: myweb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myweb
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
      - image: 192.168.94.162:5000/justme/myweb:1
        imagePullPolicy: Always
        name: myweb

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: myweb
  name: myweb
spec:
  ports:
  - nodePort: 32223
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: myweb
  type: NodePort

這是我的詹金斯腳本

pipeline {

  environment {
    registry = "192.168.94.162:5000/justme/myweb"
    dockerImage = ""
  }

  agent any

  stages {

    stage('Checkout Source') {
      steps {
        git 'https://github.com/taibc/playjenkins.git'        
      }
    }

    stage('Build image') {      
      steps{

        script {
          dockerImage = docker.build registry + ":$BUILD_NUMBER"
        }
      }
    }

    stage('Push Image') {
      steps{
        script {
          docker.withRegistry( "" ) {
            dockerImage.push()
          }
        }
      }
    }

    stage('Deploy App') {
      steps {
        script {
          kubernetesDeploy(configs: "myweb.yaml", kubeconfigId: "mykubeconfig")
        }
      }
    }

  }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM