在学习Continuous Delivery with Docker and Jenkins 时
使用Docker中的Jenkins镜像启动时使用了
$ docker run -p <host_port>:8080 -v <host_volume>:/var/jenkins_home jenkins:2.60.1
配置成功后尝试运行Jenkins官网的入门example
Jenkinsfile (Declarative Pipeline)
pipeline {
agent { docker 'node:6.3' }
stages {
stage('build') {
steps {
sh 'npm --version'
}
}
}
}
这里的agent是启动一个docker实例
接下来获取repository成功后容其中docker pull时报错 failed to get default registry endpoint from daemon
+ docker pull node:6-alpine
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE<pre class="console-output" style="box-sizing: border-box; white-space: pre-wrap; word-wrap: break-word; margin: 0px; color: rgb(51, 51, 51); font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">+ docker pull node:6-alpine
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: [https://index.docker.io/v1/](https://index.docker.io/v1/)
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
ERROR: script returned exit code 1
Finished: FAILURE
仔细阅读Jenkins官网Docker指南后发现少了docker.sock的映射
docker run -d -p 80:8080 \
-v $(pwd)/jenkinshome:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
成功build
docker.sock是什么?
阅读了About /var/run/docker.sock
docker.sock是Docker守护进程的socket接口,通过它我们可以使用创建启动新的docker实例,上面的例子中因为没有映射,导致在container内部没有办法创建Docker image
网友评论