![](/img/trans.png)
[英]Jenkins Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[英]jenkins in docker - Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
我在docker中運行https://hub.docker.com/r/jenkinsci/blueocean/ 。 嘗試在jenkins中構建docker映像。
但我得到以下錯誤:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
顯然,docker中的jenkins版本無法訪問docker二進制文件。
我證實了這一點,
docker exec -it db4292380977 bash
docker images
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
“ db4292380977”是正在運行的容器。 它顯示相同的錯誤。
題:
jenkinsci/blueocean
客戶端安裝在jenkinsci/blueocean
映像上,但未安裝在守護程序上。 Docker客戶端將使用守護程序(默認情況下通過套接字unix:///var/run/docker.sock
)。 Docker客戶端需要一個Docker守護程序才能工作,您可以閱讀Docker Architecture以獲得更多信息。
你可以做什么:
庫Docker映像提供了一種在Docker中運行Docker守護程序的方法,然后可以從另一個容器中使用它。 例如,使用簡單的docker CLI:
docker run --name docker-dind --privileged -d docker:stable-dind
docker run --name jenkins --link=docker-dind -d jenkinsci/blueocean
docker exec jenkins docker -H docker-dind images
REPOSITORY TAG IMAGE ID CREATED SIZE
Docker守護程序在docker-dind
容器中運行,並且可以使用相同的主機名進行訪問。 您只需要為-H docker-dind
客戶端提供守護程序主機(在示例中為-H docker-dind
,您還可以按照doc中所述使用DOCKER_HOST
env變量)。
/var/run/docker.sock
如@Herman Garcia所述,答案:
docker run -p 8080:8080 --user root \
-v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
您需要掛載本地/var/run/docker.sock
並以root
用戶身份運行容器
注意:這可能是一個安全漏洞,因此請小心誰可以訪問jenkins容器
docker run -p 8080:8080 --user root \
-v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
您將能夠在容器內執行docker
➜ ~ docker exec -it gracious_agnesi bash
bash-4.4# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
c4dc85b0d88c jenkinsci/blueocean "/sbin/tini -- /usr/…" 18 seconds ago Up 16 seconds 0.0.0.0:8080->8080/tcp, 50000
/tcp gracious_agnesi
只是嘗試嘗試執行相同的命令,但在開頭使用sudo
例如
sudo docker images
sudo docker exec -it db4292380977 bash
為了避免將來使用sudo,您應該在Unix OS中運行此命令
sudo usermod -aG docker <your-user>
更改當前正在使用的用戶。 請記住注銷並重新登錄才能生效! 有關Docker安裝的更多信息,請單擊此處
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.