当前位置: 首页 > 知识库问答 >
问题:

詹金斯管道 - 无法连接到 Docker 守护程序

涂泰平
2023-03-14

我正在按照本教程构建一个你好世界专家java应用程序,其中包含码头系统中的jenkins:https://jenkins.io/doc/tutorials/building-a-java-app-with-maven/#fork-and-clone-the-sample-repository-on-github

这是我的应用程序(只是从教程中派生出来):简单的javamaven-app

它有一个小的区别,我在管道的选项(存储库URL)中使用了远程存储库(Github)而不是本地存储库(或主机存储库)。我将 Jenkinsfile 推送到存储库,然后使用管道构建 hello-world 应用程序。

// Jenkinsfile for Pipeline
pipeline {
    agent {
        docker {
            image 'maven:3-alpine' 
            args '-v /root/.m2:/root/.m2' 
        }
    }
    stages {
        stage('Build') { 
            steps {
                sh 'mvn -B -DskipTests clean package' 
            }
        }
    }
}

我得到了下面这个错误,找不到任何解决方案。我用的是Windows 10。

docker pull maven:3-alpine
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

谢谢大家。

共有1个答案

严书
2023-03-14

您正在Docker (DinD)中使用Docker,这不是推荐的CI方法。您应该将主机的Docker守护进程套接字作为卷安装到Jenkins容器,如下所示:

< code>docker容器run-v/var/run/docker . sock:/var/run/docker . sock...

因此,您可以使用图像

 类似资料:
  • 我正在运行安装了以下docker软件的Ubuntu:

  • 问题内容: 我在CentOS机器上运行Jenkins和Docker。我有一个詹金斯(Jenkins)工作,可以拉出Github存储库并构建Docker映像。当我尝试运行作业时,出现错误: 即使我通过将jenkins添加到我的docker用户组并重新启动计算机,也会发生这种情况。我该如何解决? 顺便说一句,如果尝试将命令更改为我只是得到错误 问题答案: 在安装了Jenkins和Docker之后。将j

  • 这是我的设置: -内部程序-慢响 我目前被迫使用Windows进行开发,因此我成为了microsoft insider成员,并以WSL2模式安装了ubuntu。Docker desktop支持WSL2的集成,所以我尝试了它。。。一个星期以来,它工作得完美无缺。今天电脑重启后,我无法让docker再次运行。Ubuntu可以从Docker桌面看到注入的二进制文件,但它不能再连接到windows托管的D

  • 问题内容: 我想迁移到Docker,所以我才刚开始使用它。我已经在VirtualBox Ubuntu 15.10(Wily Werewolf)安装上安装了Docker,然后按照此处的建议,我尝试运行基本的nginx Docker映像: 因此,我检查了Docker是否正在运行: 这表明Docker守护程序实际上已经在运行,但是请确保我只是手动启动了Docker守护程序: 然后,我尝试再次运行该映像,

  • 问题内容: 已解决 :感谢S.Richmond的以下答复我需要取消所有类型的存储映射,这意味着将变量和使用后作废。 附加 :搜索此错误的人员可能有兴趣使用Jenkins管道步骤- 在此处查找更多信息。 我正在尝试使用Jenkins Pipeline从用户那里获取输入,该输入作为json字符串传递给作业。管道然后使用隔离器对此进行解析,然后选择重要信息。然后,它将使用该信息与不同的作业参数并行运行1

  • 下面是我简单的jenkins pipeline groovy脚本,它将用这两个阶段和我们想要构建的作业创建一个管道,我希望在job configuration下的脚本中每次都更新用于构建和代码分析的作业名,方法是从用户界面中获取数据,用户将使用Eclipse提供构建作业名和代码分析作业名- jenkinsfile脚本:-