Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置Jenkins作业以使用Docker构建?_Docker_Jenkins_Kubernetes_Jenkins Pipeline_Digital Ocean - Fatal编程技术网

如何配置Jenkins作业以使用Docker构建?

如何配置Jenkins作业以使用Docker构建?,docker,jenkins,kubernetes,jenkins-pipeline,digital-ocean,Docker,Jenkins,Kubernetes,Jenkins Pipeline,Digital Ocean,我正在尝试使用Jenkins和“docker in the docker”容器构建一个分支,以从src构建一个容器 我在这里定义Docker云实例: 是否应该提供一个额外的选项卡,使作业能够使用上面的Docker cloud实例设置 作业是一个多分支管道: 但是,当我尝试配置使用上面配置的docker云实例的作业时,使用docker构建的选项不可用: 生成日志包含: node { def app stage('Clone repository') {

我正在尝试使用Jenkins和“docker in the docker”容器构建一个分支,以从src构建一个容器

我在这里定义Docker云实例:

是否应该提供一个额外的选项卡,使作业能够使用上面的Docker cloud实例设置

作业是一个多分支管道:

但是,当我尝试配置使用上面配置的docker云实例的作业时,使用docker构建的选项不可用:

生成日志包含:

node {
      def app
      stage('Clone repository') {
            checkout scm
      }
      stage('Build image') {
            app = docker.build("ron/services")
       }
       stage('Push image') {
      docker.withRegistry('https://registry.hub.docker.com', 'git') {
       app.push("${env.BUILD_NUMBER}")
       app.push("latest")
              }
           }
        }
time=“2021-04-04T14:27:16Z”level=error msg=“拨打gRPC失败: 无法连接到Docker守护程序。“Docker守护程序”是否正在运行 此主机?:拨号unix/var/run/docker.sock:connect:没有这样的文件或 目录“连接期间出错:Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/build?buildargs=%7B%7D和cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcus=&cpusetpus=&cpusetmems=&cpushares=0&dockerfile=dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&rm=1&session=vgpahnxfhfh05klhxyk02gg&shmsize=0&t=0&t=0&t=2Fml=0&target=0&trade=0&trade=0&trade=0 上下文已取消[Pipeline]}[Pipeline]//阶段[Pipeline]} [Pipeline]//节点[Pipeline]管道结束[Bitbucket]通知 提交生成结果[Bitbucket]生成结果通知错误:脚本 返回的退出代码1已完成:失败

这表明构建在与Jenkins相同的主机上搜索Docker,但我尝试在不同的主机上使用Docker进行构建

我是否正确配置了Docker和Jenkins

我的
jenkins文件
包含:

node {
      def app
      stage('Clone repository') {
            checkout scm
      }
      stage('Build image') {
            app = docker.build("ron/services")
       }
       stage('Push image') {
      docker.withRegistry('https://registry.hub.docker.com', 'git') {
       app.push("${env.BUILD_NUMBER}")
       app.push("latest")
              }
           }
        }
更新:

单击
暴露DOCKER\u主机
上的复选标记,重建包含错误:

+ docker build -t ron/services .
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
[Bitbucket] Notifying commit build result
[Bitbucket] Build result notified
ERROR: script returned exit code 1
Finished: FAILURE

docker cli尝试使用
/var/run
中的docker套接字进行连接。这意味着没有配置外部守护程序,例如使用环境变量
DOCKER\u HOST

尝试单击Expose DOCKER_HOST上的复选标记

谢谢,我尝试单击export DOCKER_HOST上的复选标记,但类似的错误,我更新了问题。似乎您并没有使用DOCKER生成生成代理,但您只想使用DOCKER守护程序进行生成。在这种情况下,您可以手动设置环境变量。