为了账号安全,请及时绑定邮箱和手机立即绑定

docker 容器中运行宿主机中的docker命令

docker 容器中运行宿主机中的docker命令

料青山看我应如是 2019-05-24 16:15:15
最近在搞jenkinsdocker部署,遇到一个问题,在jenkins配置中执行dockerversion,发现构建失败,控制台报dockernotfound,jenkins是采用docker镜像的方式运行的,想了想,应该报这个错,因为docker中无法执行docker命令,要想采用docker部署,应该解决,在docker中能够执行docker相关的创建容器的命令,这样的docker使用方法有背docker的初衷,我想应该在容器通过API的方式调用宿主机的API,然后解决该问题,但不知道,该问题,有没成熟的解决方案,不一定是我的思路,踩过这个坑的前辈,求分享
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

刚踩过但我不是前辈,楼上那种单一挂载是不行的,需要在镜像构建时将jenkins用户加入到docker组里
ARGdockerGid=999
RUNecho"docker:x:${dockerGid}:jenkins">>/etc/group
我弄了个可以用jenkins用户运行docker的镜像,直接拉取就可以用:
dockerpulltomsun28/jenkins:1.1
运行:
dockerrun-d-p8080:8080-p50000:50000--namejenkins--restart=always\
-v/opt/dockerWorkspace/jenkins_home:/var/jenkins_home\
-v$(whichdocker):/usr/bin/docker\
-v/var/run/docker.sock:/var/run/docker.socktomsun28/jenkins:1.1
具体流程和构建的Dockerfile看这里哦tomsun28github
                            
查看完整回答
反对 回复 2019-05-24
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

把这两个文件挂载到jenkins容器中,就可以执行docker命令了。
/var/run/docker.sock
/bin/docker
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 2810 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信