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

在kubernetes集群上使用docker命令运行Jenkins作业失败“docker:未找到”

蒙光华
2023-03-14
$ /bin/sh -xe /tmp/jenkins6501091583256440803.sh
+ id
uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins)
+ docker ps
/tmp/jenkins2079497433467634278.sh: 8: /tmp/jenkins2079497433467634278.sh: docker: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

有趣的是,当手动连接到pod并作为jenkins用户直接在容器中执行docker命令时,它可以工作:

kubectl exec -it jenkins-worker-XXX -- /bin/bash
~$ su - jenkins
~$ id   
uid=1000(jenkins) gid=1000(jenkins) groups=1000(jenkins),1000(jenkins)
~$ docker ps 
CONTAINER ID        IMAGE        COMMAND         CREATED         STATUS

詹金斯的工作有什么不同?相同的用户,相同的容器,只有groups=1000(jenkins),1000(jenkins)手动连接时将1000(jenkins)作为组列出2次。我错过了什么?

共有1个答案

欧阳何平
2023-03-14

/var/run/docker.sock只是允许docker客户机从容器运行docker命令的主机套接字。

您缺少的是容器中的docker客户端。

手动下载docker客户端并将其放置在持久卷上,并确保docker客户端位于系统路径中。另外,确保docker客户端是可执行的。

curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-17.03.1-ce.tgz &&
tar --strip-components=1 -xvzf docker-17.03.1-ce.tgz -C /usr/local/bin
 类似资料:
  • 我的http://localhost:8080/上有一个jenkins,我创建了一个项目,该项目将运行kubectl命令,使用(minikube)连接到kubernetes集群 我正在尝试运行windows命令C:\Program Files(x86)\Jenkins\workspace\test2 这是Kubernetes主机正在运行的minikube群集信息https://192.168.99

  • 问题内容: 我可以在主机上运行docker命令吗?我安装在Docker容器中,现在可以以某种方式在主机上使用命令(在后台使用Docker容器的aws)吗? 我的情况是这样的:我在生产主机上有数据库备份。现在我有Jenkins cron作业,它将从db容器中获取sql文件,并将其放入服务器文件夹中。现在我还希望jenkins将此备份文件上传到AWS存储上,但是在主机上我没有安装aws,也不想在主机上

  • 我只是从Mesos、Docker和马拉松开始,但我找不到任何地方可以回答这个特定的问题。我想建立一个运行在Docker上的Mesos集群--有几个internet资源可以做到这一点,但我想在Mesos本身上运行Docker容器。这意味着Docker容器运行在其他Docker容器中。

  • 我是Docker的新手,同时运行Docker文件**我的Docker文件** 来自Microsoft/DotNet:2.2.0-Preview1-AspNetCore-Runtime作为基础 工作目录/app 来自Microsoft/DotNet:2.2.100-Preview1-SDK AS Build workdir/dineshvisualstudio/autofac-interceptor

  • 我有一个Jenkins master运行在Windows Server2016上。我需要能够运行linux容器来运行一些自动化的e2e测试。由于我不想讨论的原因,我无法在这台机器上启用hyper-v。这使我无法在Jenkins master上安装lcow和docker 相反,我所做的是在virtualbox中设置一个Ubuntu18.04VM,并在那里安装docker。我已经将VM配置为Jenki

  • 致谢 本文由 DaoCloud 社区用户谭文科提供