Может быть кому пригодится. Поняв что я ошибся при монтировании 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