Jenkins + Docker: невозможно подключиться к демону Docker по tcp: // dind: 2375. Демон docker запущен? - PullRequest
0 голосов
/ 28 мая 2020

Я создаю jenkins с помощью этого docker-compose.yml:

version: '3'
services:
  dind:
    image: docker:dind
    privileged: true
    expose:
      - 2375
      - 2376
    volumes:
      - .docker/jenkins_data:/var/jenkins_home
    environment:
      DOCKER_TLS_CERTDIR: ""
  jenkins:
    build: .docker
    environment:
      DOCKER_HOST: tcp://dind:2375
    ports:
      - 8081:8080
      - 50000:50000
    links:
      - dind
    volumes:
      - .docker/jenkins_data:/var/jenkins_home
      - .myProject:/home/project

.docker / Dokerfile:

FROM jenkins/jenkins:lts

LABEL maintainer="Antoine Descamps <antoine.descamps@ineat-conseil.fr>"

USER root

RUN echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list
RUN apt-key adv --keyserver https://keyserver.ubuntu.com:443 --recv-keys 93C4A3FD7BB9C367

RUN apt-get update

RUN curl -fsSL https://get.docker.com | bash -
RUN curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose

RUN usermod -aG docker jenkins

USER jenkins

Моя ошибка:

docker inspect -f . node:7-alpine

Cannot connect to the Docker daemon at tcp://dind:2375. Is the docker daemon running?

1 Ответ

1 голос
/ 28 мая 2020

При запуске docker -compose в журналах указано, что DinD прослушивает порт 2376.

dind_1 | time="2020-05-28T15:41:13.544954400Z" level=info msg="API listen on [::]:2376"

1-й способ:

используйте environment: DOCKER_TLS_CERTDIR: "" в dind

Итак, вы используете DOCKER_HOST: tcp://dind:2375

2-й способ:

удалить environment: DOCKER_TLS_CERTDIR: ""

Итак, вы используете DOCKER_HOST: tcp://dind:2376

...