詹金斯&x2B;Docker:无法连接到位于的Docker守护程序tcp://dind:2375. docker守护进程正在运行吗?
我用这个詹金斯&x2B;Docker:无法连接到位于的Docker守护程序tcp://dind:2375. docker守护进程正在运行吗?,docker,jenkins,docker-compose,jenkins-pipeline,Docker,Jenkins,Docker Compose,Jenkins Pipeline,我用这个docker compose.yml创建了一个jenkins: version: '3' services: dind: image: docker:dind privileged: true expose: - 2375 - 2376 volumes: - .docker/jenkins_data:/var/jenkins_home environment: DOCKER_TLS_CERTDIR
docker compose.yml
创建了一个jenkins:
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 compose时,日志中显示DinD正在监听端口
2376
dind|u 1 | time=“2020-05-28815:41:13.544954400Z”level=info msg=“API监听[:]:2376”
第一路:
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
使用dind中的环境:DOCKER\u TLS\u CERTDIR:“
”
因此,您可以使用DOCKER\u主机:tcp://dind:2375
第二种方式:
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\u TLS\u CERTDIR:“
因此,您可以使用
DOCKER\u主机:tcp://dind:2376
@sgrillon TLS默认情况下已在Docker 19中启用。这就是它在2376端口监听的原因。我不知道如何禁用它或绕过TLS验证。如果不是强制性的,您可以使用dind-18
。