docker中的jenkins-无法连接到unix:///var/run/docker.sock. docker守护进程正在运行吗?
我要去码头。试图在詹金斯建立一个码头工人的形象 但我得到了以下错误:docker中的jenkins-无法连接到unix:///var/run/docker.sock. docker守护进程正在运行吗?,docker,jenkins,Docker,Jenkins,我要去码头。试图在詹金斯建立一个码头工人的形象 但我得到了以下错误: 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 Do
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是正在运行的容器。它显示了相同的错误
问题:
如何允许访问jenkins容器中的docker?
您需要挂载本地/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
您需要挂载本地/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操作系统中运行此命令
sudo usermod -aG docker <your-user>
此时正在使用的用户的更改。请记住注销并重新登录,以使其生效!有关Docker安装的更多信息单击仅尝试执行相同的命令,但在开始时使用sudo 比如说
sudo docker images
sudo docker exec -it db4292380977 bash
为了避免将来使用sudo,您应该在Unix操作系统中运行此命令
sudo usermod -aG docker <your-user>
此时正在使用的用户的更改。请记住注销并重新登录,以使其生效!有关Docker安装的更多信息单击Docker客户端安装在jenkinsci/blueocean映像上,但不安装守护进程。默认情况下,Docker客户端将通过套接字使用守护进程unix:///var/run/docker.sock. Docker客户端需要Docker守护进程才能工作,您可以阅读更多信息 您可以做什么: 在docker DinD图像中使用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容器中运行,可以使用相同的主机名访问。您只需要向docker客户端提供守护进程主机-H docker dind,在示例中,您还可以使用docker_host env变量,如中所述
在容器中装载主机/var/run/docker.sock
如回答所述:
docker客户端安装在jenkinsci/blueocean映像上,但不安装守护进程。默认情况下,Docker客户端将通过套接字使用守护进程unix:///var/run/docker.sock. Docker客户端需要Docker守护进程才能工作,您可以阅读更多信息 您可以做什么: 在docker DinD图像中使用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容器中运行,可以使用相同的主机名访问。您只需要向docker客户端提供守护进程主机-H docker dind,在示例中,您还可以使用docker_host env变量,如中所述
在容器中装载主机/var/run/docker.sock
如回答所述:
请记住在docker容器内安装sudo,jenkins image不附带sudo预安装Member要在docker容器内安装sudo,jenkins image不附带sudo预安装我使用具有管理员权限的windows并使用此命令运行docker with blueocean。但我在拨打gRPC时出错:无法连接到Docker守护进程。“docker daemon”是否在此主机上运行?:拨打tcp:lookup docker on 127.0.11:53:没有这样的主机docker容器运行-名称jenkins blueocean-rm-detach-network jenkins-env docker_主机=tcp://docker:2376 -env DOCKER\u CERT\u PATH=/certs/client-env DOCKER\u TLS\u VERIFY=1-发布8080:8080-发布50000:50000-卷jenkins数据:/var/jenkins\u home-volume jenkins docker certs:/certs/client:ro jenkinsci/blueocean我正在使用具有管理员权限的windows,并使用此命令运行docker with blueocean。但我在拨打gRPC时出错:无法连接到Docker守护进程。“docker daemon”是否在此主机上运行?:拨打tcp:lookup docker on 127.0.11:53:没有这样的主机docker容器运行-名称jenkins blueocean-rm-detach-network jenkins-env docker_主机=tcp://docker:2376 -env DOCKER\u CERT\u PATH=/certs/client-env DOCKER\u TLS\u VERIFY=1-发布8080:8080-发布50000:50000-卷jenkins数据:/var/jenkins\u home-卷jenkins docker证书:/certs/客户:ro jenkinsci/blueocean