在使用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)

广告
将在 10 秒后关闭
bannerAds