在使用Docker构建的Jenkins中使用Docker(dind)
由于在Jenkins(dind)中遇到了一些困难,因此将其作为备忘录。
步驟
Dockerfile的含义是什么?
FROM zephyrhq/docker-jenkins-dind
RUN usermod -g docker jenkins
尽量使用Docker(包括docker-compose)的Jenkins镜像来简化流程。
参考链接:[在Jenkins容器上使用Docker](https://qiita.com/paper2/items/751246ee7dcae50d5042)
docker-compose.yml的翻译:
docker-compose.yml文件
version: '3'
services:
jenkins:
build: ./
ports:
- 8080:8080
privileged: true
volumes:
- ./jenkins_dind:/var/lib/jenkins
- /var/run/docker.sock:/var/run/docker.sock
如果想在用Docker构建的Jenkins中使用docker-compose.yml。
使用相对路径设置卷时可能会导致卷为空的问题。
应该使用绝对路径指定卷。直接硬编码会在本地环境和实际服务器上产生差异,所以最好使用环境变量。
version: '3'
services:
hoge_service:
image: hoge
volumes:
- /home/hogeuser/jenkins_dind/workspace/hoge_service/project:/hoge_service/project #絶対パスにするのが肝
请注视
在docker中搭建Jenkins并在其上运行Docker(docker in docker)