jenkins容器内找不到docker命令(docker not found)

看好多人说这个问题是因为Jenkins容器里没有安装docker,其实不是这样。我根本不需要在Jenkins容器里面再装一个docker,我jenkins就是用docker跑的,干嘛再在容器里面装一个docker。

其实这个问题是因为run docker的时候没有将 Docker 守护进程的 UNIX 套接字挂载到 Jenkins 容器内。

跑docker的时候挂载一下就可以了,例:

docker run的时候我们要加上

-u root

-v /var/run/docker.sock:/var/run/docker.sock        

-v /usr/bin/docker:/usr/bin/docker 

完整版: 

docker run

-u root                                                        

-d -p 8080:8080 -p 50000:50000

-v /var/run/docker.sock:/var/run/docker.sock        

-v /usr/bin/docker:/usr/bin/docker                         

--name jenkins jenkins/jenkins:lts



加上这三条命令的目的是允许在容器内部运行的进程(例如 Jenkins 或其他 CI/CD 工具)能够直接与宿主机的 Docker 守护进程通信,就好像它们是直接在宿主机上运行一样。
 

-u root


给了容器对宿主机 Docker 守护进程的完全访问权限,相当于给了容器宿主机的 root 权限
 

-v /var/run/docker.sock:/var/run/docker.sock        

-v /usr/bin/docker:/usr/bin/docker 


底下两条命令是挂载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值