运行 docker container.Cannot 上的 Jenkins 连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。 docker 守护进程是 运行 吗?
Running Jenkins on docker container.Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
我是 运行 jenkins inside docker container(jenkins/jenkins:lts) 作为基础镜像。
我在 jenkins 中创建了一个管道,我在其中添加了以下内容
node{
stage('SCM checkout')
{
git url: 'https://github.com/THIYAGU22/javaapp'
}
stage('Mvn Package')
{
def mvnHome = tool name: 'maven-3', type: 'maven'
def mvnCMD = "${mvnHome}/bin/mvn"
sh script: "${mvnCMD} clean package"
}
stage('Build Docker Image')
{
tool name: 'docker', type: 'dockerTool'
def dockerHome = tool 'docker'
env.PATH = "${dockerHome}/bin:${env.PATH}"
sh 'docker build -t imthiyagu/java-app-2.0.0 .'
}
}
构建后它可以处理 SCM 检出和 Mvn 包但不能构建 docker 图像
有什么帮助吗?谢谢
docker
命令需要一个 Docker 套接字进行通信。它查找的默认套接字是 /var/run/docker.sock
。您有两种选择来提供 Docker 套接字:
运行 带有 --privileged -v /var/run/docker.sock:/var/run/docker.sock
个参数的 Jenkins 图像。这会将主机的 Docker 套接字安装到 Jenkins 映像中,然后可以由 Docker 使用。请注意,使用 --privileged
是 a security risk.
通过 HTTPS 公开主机的 Docker 套接字:https://docs.docker.com/engine/security/https/。然后设置DOCKER_HOST
环境变量指向tcp://YOURHOST:PORT
,其中端口为2375或2376.
我是 运行 jenkins inside docker container(jenkins/jenkins:lts) 作为基础镜像。
我在 jenkins 中创建了一个管道,我在其中添加了以下内容
node{
stage('SCM checkout')
{
git url: 'https://github.com/THIYAGU22/javaapp'
}
stage('Mvn Package')
{
def mvnHome = tool name: 'maven-3', type: 'maven'
def mvnCMD = "${mvnHome}/bin/mvn"
sh script: "${mvnCMD} clean package"
}
stage('Build Docker Image')
{
tool name: 'docker', type: 'dockerTool'
def dockerHome = tool 'docker'
env.PATH = "${dockerHome}/bin:${env.PATH}"
sh 'docker build -t imthiyagu/java-app-2.0.0 .'
}
}
构建后它可以处理 SCM 检出和 Mvn 包但不能构建 docker 图像
有什么帮助吗?谢谢
docker
命令需要一个 Docker 套接字进行通信。它查找的默认套接字是 /var/run/docker.sock
。您有两种选择来提供 Docker 套接字:
运行 带有
--privileged -v /var/run/docker.sock:/var/run/docker.sock
个参数的 Jenkins 图像。这会将主机的 Docker 套接字安装到 Jenkins 映像中,然后可以由 Docker 使用。请注意,使用--privileged
是 a security risk.通过 HTTPS 公开主机的 Docker 套接字:https://docs.docker.com/engine/security/https/。然后设置
DOCKER_HOST
环境变量指向tcp://YOURHOST:PORT
,其中端口为2375或2376.