![](/img/trans.png)
[英]Jenkins with docker-compose got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
[英]dial unix /var/run/docker.sock: connect: permission denied - Docker daemon socket - Jenkins on Ubuntu(ec2)
我正在嘗試在 Jenkins 上構建並運行 docker 映像。 我在 AWS ec2 服務器上的 ubuntu 上設置了 Jenkins。 當我嘗試構建時,出現此錯誤:
作為參考,我還附上了我的 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.