Jenkins服务使用 宿主机的docker、docker-compose (Jenkins 执行sudo命令时出现“sudo: no tty present and no askpass program specified”,以及 docker-compose command not found解决办法)
若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11681474.html
原因:
本人最近正在尝试CI/CD,所以就使用了 Jenkins这款强大的CI/CD工具。
由于直接在linux系统安装的Jenkins服务,且在pipeline中需要使用到 docker命令 和 docker-compose 命令,所以我考虑 在Jenkins中直接使用 宿主机中的 docker 和 docker-compose 命令。
解决步骤:
一、修改配置,使得在Jenkins中通过 sudo 就可以获得root权限
(问题:Jenkins 执行sudo命令时出现“sudo: no tty present and no askpass program specified”)
在linux系统中执行命令:vi /etc/sudoers 来修改/etc/sudoers 文件,修改内容如下:
首先,将 Defaults requiretty 这一行用#注释掉;
然后,在文件末尾加上一行:jenkins ALL=(ALL) NOPASSWD: ALL
接着,通过 wq! 来强制保存并退出;
最后,需要重启Jenkins,执行命令:/etc/init.d/jenkins restart
二、配置docker命令:
1、在linux系统执行命令: which docker
得到输出:/usr/bin/docker ,先记录下来。
2、在Jenkins中,进入 系统管理==>全局工具设置,下拉至 Docker==>新增Docker,填写如下:
3、然后在使用docker命令时,前面一定要加上 sudo,即 sudo docker xxx
三、配置docker-compose命令:
(问题:Jenkins中报错: docker-compose command not found)
1、首先检查确认docker-compose的安装目录没有问题,
>>可以先在 linux系统执行命令:which docker-compose
获得docker-compose程序的位置为:/usr/local/bin/docker-compose
>>然后,在Jenkins中查询 /usr/local/bin/ 目录确认含有docker-compose程序即可
2、由于报错docker-compose命令找不到,也就是Jenkins无法确认docker-compose命令的位置,
那么可以直接使用上一步找到的程序的绝对路径来执行该命令,同时必须加上sudo,如下:
sudo /usr/local/bin/docker-compose xxx
Jenkins服务使用 宿主机的docker、docker-compose (Jenkins 执行sudo命令时出现“sudo: no tty present and no askpass program specified”,以及 docker-compose command not found解决办法)的更多相关文章
- 【Devops】【docker】【CI/CD】关于jenkins构建成功后一步,执行的shell命令详解+jenkins容器运行宿主机shell命令的实现方法
1.展示这段shell命令 +详解 #================================================================================= ...
- docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令
使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenki ...
- 用Docker启动php-5.6 fpm服务配合宿主机nginx运行php测试环境
因为Ubuntu18.04默认的openssl版本就是1.1.0, 而PHP5.6无法在openssl 1.1下编译 "PHP 5.6 is receiving only security ...
- Docker进入容器后使用ifconfig等命令“command not found”解决办法
当进入一个容器后,使用ifconfig.ip addr等命令时,出现如下“command not found”: 解决办法: yum update yum -y install n ...
- 启动jenkins服务错误
背景 重新安装了jenkins,需要启动,使用的yum install安装的,启动jenkins的话只需要执行service jenkins start,但出了两个问题 1. 是提示找不到java 2 ...
- 不使用sudo命令执行docker
不使用sudo命令执行docker 2015-09-11 11:03:05 王春生 8049 最后编辑:王春生 于 2015-09-11 12:18:30 简介:本篇文章介绍如何不使用sudo命 ...
- java通过http服务执行shell命令
服务端代码/** * 执行shell命令 * @param command 执行命令 * @return */public String exeCommandByPath( String comman ...
- Jenkins(Docker容器内)使用宿主机的docker命令
1.Jenkins镜像 Docker容器内的Jenkins使用容器外宿主机的Docker(即DooD,还有另外的情况就是DioD),google一下有几种说法,但是都没试成功(试过一种就是修改宿主机/ ...
- 容器版jenkins安装并且实现使用宿主机docker命令,采用的是docker outside deocker,带jdk、添加maven、git
docker版jekins使用宿主机docker命令 docker版jekins安装,实现CI/CD,也就是实现在容器里面使用宿主机docker命令,这样方式为:docker outside deoc ...
随机推荐
- [SDOI2010]捉迷藏 K-Dtree
[SDOI2010]捉迷藏 链接 luogu 思路 k-dtree模板题 代码 #include <bits/stdc++.h> #define ls (t[u].ch[0]) #defi ...
- Sherlock and His Girlfriend(信息学奥赛一本通 1623)
[题目描述] 原题来自:Codeforces Round #400 B. Sherlock 有了一个新女友(这太不像他了!).情人节到了,他想送给女友一些珠宝当做礼物. 他买了 n 件珠宝.第 i 件 ...
- Hash总结
算法介绍 这个没什么好说的,就是一段比较简单的代码,具体的话要看题目. 自然溢出 这个是比较好用而且容易被卡的一种Hash方式. 用\(2^{64}\)当模数然后做\(Hash\),常数比较小. 单模 ...
- ssh免密钥登陆的两种方式
ssh 免密钥登陆的两种方式第一种:直接使用命令复制过去ssh-copy-id root@192.168.3.113批量复制for i in {113..140}; do ssh-copy-id ro ...
- 蓝牙BLE: ATT协议层中属性(Attribute)
ATT(Attribute Protocol)属性层是GATT和GAP的基础,它定义了BLE协议栈上层的数据结构和组织方式. 属性(Attribute)概念是ATT层的核心,ATT层定义了属性的内容, ...
- Android 自己实现更新下载自动安装
1.一些公司开发完一款App之后可能并不会去上架App商店,但事后期也需要定时进行维护更新,所以会选择把打包好的apk 发布到自己的服务器,然后在数据库建一个版本号的表,然后剩下的就交给你androi ...
- API调试工具--------Postman
Postman一款非常流行的API调试工具.其实,开发人员用的更多.因为测试人员做接口测试会有更多选择,例如Jmeter.soapUI等.不过,对于开发过程中去调试接口,Postman确实足够的简单方 ...
- Java基础 awt Graphics2D 生成矩形图片并向其中画一条直线
JDK :OpenJDK-11 OS :CentOS 7.6.1810 IDE :Eclipse 2019‑03 typesetting :Markdown code ...
- WD MyBook Live Duo 重装教程
9102年了,我还在用MBL DUO 前情提要:这个设备基础配置是3T*2,但是近期两块3T硬盘需要另做他用,因此只能用2块1T的硬盘来替换了,所以就免不了要重灌WD的固件.可能是由于设备太老吧,那个 ...
- win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件
win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件 1.去git上下载react-devtools文件到本地,https://github.com/fac ...