簡體   English   中英

嘗試連接到 unix:///var/run/docker.sock 的 Docker 守護程序套接字時獲得權限被拒絕:在 docker 容器內發布

[英]Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post inside docker container

我正在嘗試實現完整的 CICD pipe 線。 我在 docker 上運行 jenkins/jenkins:2.361.1-lts-jdk11 圖像。 運行 docker 映像我使用 docker run -p 8080:8080 -p 50000:50000 -d -v jenkins_home:/var/jenkins_home -v/var/run/docker.sock:特權詹金斯/詹金斯:2.361.1-lts-jdk11

我已連接到 repo 並下載 src 並構建沒有任何問題。 現在我需要通過 jenkins 創建一個 docker 映像並在 docker 集線器中發布。 下面是我的 Jenkinsfile


pipeline{
    agent any
    tools{
        maven 'Maven-3.8.6'
    }
    stages{
    stage('checkout'){
                steps{
                    echo 'checkout the application'
                    git 'https://github.com/hvalola/demo_jenkins'
                }
            }
        stage('build'){
            steps{
                echo 'building the application'
                sh 'mvn package'
            }
        }
        stage('test'){
            steps{
                echo 'testing the application'
            }
        }
        stage('deploy'){
            steps{
                echo 'deploying the application'
            }
        }
        stage('Build docker image'){
            steps{
                script{
                    def dockerHome = tool 'demo-docker'
                    env.PATH = "${dockerHome}/bin:${env.PATH}"
                    sh 'docker build -t pubudurana/demo_jenkins .'
                }
            }
        }
    }
}


我的 Docker 文件包含以下內容

FROM openjdk:11
EXPOSE 8090
ADD target/demo_jenkins.jar demo_jenkins.jar
ENTRYPOINT ["java","-jar","/devops-integration.jar"]

但是在作業運行時發生錯誤

  • docker 構建-t pubudurana/demo_jenkins。 嘗試連接到 unix:///var/run/docker.sock 處的 Docker 守護進程套接字時獲得權限被拒絕:發布 http://%2Fvar%1.B29/buildFrun%2 %7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=pubudurana%2Fdemo_jenkins&target=&ulimits=null: dial unix /var/運行/docker.sock:連接:權限被拒絕

請幫助解決這個問題

您需要使用sudo運行docker build命令,或者將您的用戶添加到 docker 組。

sudo usermod -aG docker $USER
sudo reboot

我按照下面的帖子配置 jenkins解決了這個問題

我必須在我的 docker-compose 文件中添加 - DOCKER_HOST=tcp://host.docker.internal:2375

暫無
暫無

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

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