前提条件是,docker打开rest风格的API并操作docker守护进程:
1、在vim/usr/lib/systemd/system/docker.service中添加以下参数
ExecStart=/usr/豁达的寒风/dockerd-htcp ://0.0.0. 033602375-hunix ://var/run/docker.sock
2、重启docker
系统重新启动坞站
3、执行curl命令测试
Curl-v-xgetlocalhost :2375/_ ping
使用在docker容器中部署的Jenkins时,有三种方法可以在Jenkins中运行docker build等命令:
第一,安装文档构建步骤插件。 但是,Jenkins pipeline脚本不行。
第三,宿主的docker指令在容器内部共享使用。
网上大部分方案都采用第三种方式,这里也主要阐述第三种方式的注意事项,避免挖坑。
官方网站上的Jenkins镜像由Jenkins用户运行,因此在成功共享unix文件后运行会提示权限不足。 在网上,也有以根用户运行Jenkins的方案。
另一种方法是创建docker用户组。
dockerrun-it-p80:8080-d
- v/var/run/docker.sock :/var/run/docker.sock
-v/usr/温驯的寒风/docker:/温驯的寒风/docker
- v/usr/lib 64/libltdl.so.7:/usr/lib/x86 _ 64-Linux-GNU/libltdl.so.7
- v/var/Jenkins _ home :/var/Jenkins _ home
--namejenkins
- group-add=$ (stat-c % g/var/run/docker.sock )
jenkins/jenkins:lts
docker-compose不支持执行-group-add命令要求重新构建官方网站镜像。 文档文件如下。
FROMjenkins/jenkins:lts
用户根
# GID=stat-c % g/var/run/docker.sock
RUNgroupadd-g994docker
usermod-a-Gdockerjenkins
USERjenkins
然后运行docker build-twww.am D5.cn/Jenkins 3360 lts。
docker-compose只需参考新构建的镜像并运行测试docker命令(父测试100%正常)。
version:'3'
服务:
jenkins:
image : www.am D5.cn/Jenkins 3360 lts
container_name:jenkins
restart:always
ports:
-'80:8080 '
volumes:
- '/var/Jenkins _ home :/var/Jenkins _ home '
- '/etc/local time :/etc/local time '
- '/var/run/docker.sock :/var/run/docker.sock '
-'/usr/温驯的寒风/docker:/温驯的寒风/docker '
- '/usr/lib 64/libltdl.so.7:/usr/lib/x86 _ 64-Linux-GNU/libltdl.so.7 '
环境:
- ' Java _ opts=-duser.time zone=Asia/Shanghai-xms 2048 m-xmx 2048 m-xmn 512 m '
(0)或份额)0)我喜欢