簡體   English   中英

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

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

我剛剛在 jenkins 設置中運行 Dockerfile 然后我收到以下錯誤:

在嘗試連接到 unix:///var/run/docker.sock 上的 Docker 守護進程套接字時獲得權限被拒絕:發布 http://%2Fvar%2Frun%2Fdocker.sock/v1.40/build?buildargs=%7B %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&session=29qvxjp=a&l&limita&limit=uutesta&limita.h&limit=uutest&hl=zh-CN var/run/docker.sock: 連接:權限被拒絕。 .. Dockerfile WebApp.war SSH: EXEC: 404 ms 后完成 SSH: 斷開配置 [Docker] ... SSH: Transferred 1 file(s) Finished: SUCCESS

docker.deamon 告訴我們:

Docker 守護進程綁定到 Unix 套接字而不是 TCP 端口。 默認情況下,Unix 套接字由用戶 root 擁有,其他用戶只能使用 sudo 訪問它。 Docker 守護進程始終以 root 用戶身份運行。

如果您不想在 docker 命令前使用 sudo,請創建一個名為 docker 的 Unix 組並向其中添加用戶。 當 Docker 守護進程啟動時,它會創建一個可由 docker 組成員訪問的 Unix 套接字。

Check if the docker group already exists:
cat /etc/group | grep docker

if it doesn't, create with this command:
sudo groupadd docker

add the jenkins user to docker group:
sudo usermod -a -G docker jenkins-user
newgrp docker

Check if is it worked...
$ cat /etc/group | grep docker
docker:x:***:jenkins-user

Restart the jenkins

logout, and login again

或者您可以嘗試使用 sudo 運行 docker。

暫無
暫無

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

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