簡體   English   中英

撥打 unix /var/run/docker.sock:連接:權限被拒絕 - Docker 守護進程套接字 - Jenkins on Ubuntu(ec2)

[英]dial unix /var/run/docker.sock: connect: permission denied - Docker daemon socket - Jenkins on Ubuntu(ec2)

我正在嘗試在 Jenkins 上構建並運行 docker 映像。 我在 AWS ec2 服務器上的 ubuntu 上設置了 Jenkins。 當我嘗試構建時,出現此錯誤:

jenkins ubuntu ec2上的docker權限錯誤

作為參考,我還附上了我的 JenkinsFile。

pipeline {
    agent any
    stages {
        stage('Start') {
        steps {
            echo 'Starting to build the docker-react-app.'
        }
        }
        stage('building docker image') {
        steps {
            sh 'sudo docker build -t docker-react-app .'
        }
        }
        stage('runing docker image') {
        steps {
            sh 'sudo docker run -dp 3001:3000 docker-react-app'
        }
        }
    }
}

我正在使用 Jenkins 和默認管理員帳戶。

我還將 Jenkins 用戶添加到 docker 組。 但它並沒有解決問題。 我還通過運行驗證了這一點:

cat /etc/group | grep docker

哪個輸出:

docker:x:998:ubuntu,jenkins

如果您需要任何進一步的信息,請告訴我。

該錯誤表示您當前的用戶無法訪問 docker 引擎,因為您缺乏訪問 unix 套接字以與引擎通信的權限。
為了解決這個問題:
在您的任何 shell 中運行以下命令:
sudo usermod -a -G docker $USER
注意:完全重啟機器和 jenkins。
在此步驟之后:完全退出您的帳戶並重新登錄。

欲了解更多信息: https://docs.docker.com/engine/install/linux-postinstall/

嘗試通過目標服務器上的 jenkins 用戶運行管道腳本也許你應該將 jenkins 用戶添加到 root 組

暫無
暫無

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

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