• Как исправить проблему pipeline: unable to resolve docker endpoint: open /certs/client/ca.pem: no such file or directory?

    @kosavpa Автор вопроса
    Может быть кому пригодится. Поняв что я ошибся при монтировании volume я начал искать инфу и наткнулся на этот сайт. Касательно указания volume в dockerfile там говорится что каждое создание контейнера будет создавать новый том и бесполезно указывать имя тома, соответственно что бы оба сервиса использовали одинаковые папки нужно volume указывать в docker-compose.yml. Вот рабочий вариант всех трех файлов:
    jenkins_bind_dockerfile:
    FROM docker:dind
    EXPOSE 2376/tcp
    ENV DOCKER_TLS_CERTDIR=/certs

    jenkins_dockerfile:
    FROM jenkins/jenkins:latest
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc https://download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.asc] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    ENV DOCKER_HOST=tcp://docker:2376
    ENV DOCKER_CERT_PATH=/certs/client
    ENV DOCKER_TLS_VERIFY=1
    EXPOSE 8080/tcp
    EXPOSE 5000/tcp

    docker-compose.yml:
    version: '3.8'
    
    networks:
      jenkins:
        driver: bridge
    
    volumes:
      data:
        name: jenkins-data
      certs:
        name: jenkins-docker-certs
    
    services:
      jenkins:
        container_name: true_jenkins
        build:
          dockerfile: jenkins_dockerfile
        restart: on-failure
        ports:
          - 8080:8080
          - 5000:5000
        volumes:
          - certs:/certs/client:ro
          - data:/var/jenkins_home
        depends_on:
          - jenkins_bind
        networks:
          - jenkins
    
      jenkins_bind:
        container_name: bind_jenkins
        build: 
          dockerfile: jenkins_bind_dockerfile
        restart: on-failure
        privileged: true
        volumes:
          - certs:/certs/client
          - data:/var/jenkins_home
        ports:
          - 2376:2376
        networks:
          jenkins:
            aliases:
              - docker
    Ответ написан
    Комментировать