如何配置Jenkins作业以使用Docker构建?
我正在尝试使用Jenkins和“docker in the docker”容器构建一个分支,以从src构建一个容器 我在这里定义Docker云实例: 是否应该提供一个额外的选项卡,使作业能够使用上面的Docker cloud实例设置 作业是一个多分支管道: 但是,当我尝试配置使用上面配置的docker云实例的作业时,使用docker构建的选项不可用: 生成日志包含:如何配置Jenkins作业以使用Docker构建?,docker,jenkins,kubernetes,jenkins-pipeline,digital-ocean,Docker,Jenkins,Kubernetes,Jenkins Pipeline,Digital Ocean,我正在尝试使用Jenkins和“docker in the docker”容器构建一个分支,以从src构建一个容器 我在这里定义Docker云实例: 是否应该提供一个额外的选项卡,使作业能够使用上面的Docker cloud实例设置 作业是一个多分支管道: 但是,当我尝试配置使用上面配置的docker云实例的作业时,使用docker构建的选项不可用: 生成日志包含: node { def app stage('Clone repository') {
node {
def app
stage('Clone repository') {
checkout scm
}
stage('Build image') {
app = docker.build("ron/services")
}
stage('Push image') {
docker.withRegistry('https://registry.hub.docker.com', 'git') {
app.push("${env.BUILD_NUMBER}")
app.push("latest")
}
}
}
time=“2021-04-04T14:27:16Z”level=error msg=“拨打gRPC失败:
无法连接到Docker守护程序。“Docker守护程序”是否正在运行
此主机?:拨号unix/var/run/docker.sock:connect:没有这样的文件或
目录“连接期间出错:Post
http://%2Fvar%2Frun%2Fdocker.sock/v1.40/build?buildargs=%7B%7D和cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcus=&cpusetpus=&cpusetmems=&cpushares=0&dockerfile=dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&rm=1&session=vgpahnxfhfh05klhxyk02gg&shmsize=0&t=0&t=0&t=2Fml=0&target=0&trade=0&trade=0&trade=0
上下文已取消[Pipeline]}[Pipeline]//阶段[Pipeline]}
[Pipeline]//节点[Pipeline]管道结束[Bitbucket]通知
提交生成结果[Bitbucket]生成结果通知错误:脚本
返回的退出代码1已完成:失败
这表明构建在与Jenkins相同的主机上搜索Docker,但我尝试在不同的主机上使用Docker进行构建
我是否正确配置了Docker和Jenkins
我的jenkins文件
包含:
node {
def app
stage('Clone repository') {
checkout scm
}
stage('Build image') {
app = docker.build("ron/services")
}
stage('Push image') {
docker.withRegistry('https://registry.hub.docker.com', 'git') {
app.push("${env.BUILD_NUMBER}")
app.push("latest")
}
}
}
更新:
单击暴露DOCKER\u主机
上的复选标记,重建包含错误:
+ docker build -t ron/services .
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
[Bitbucket] Notifying commit build result
[Bitbucket] Build result notified
ERROR: script returned exit code 1
Finished: FAILURE
docker cli尝试使用
/var/run
中的docker套接字进行连接。这意味着没有配置外部守护程序,例如使用环境变量DOCKER\u HOST
。
尝试单击Expose DOCKER_HOST上的复选标记谢谢,我尝试单击export DOCKER_HOST上的复选标记,但类似的错误,我更新了问题。似乎您并没有使用DOCKER生成生成代理,但您只想使用DOCKER守护程序进行生成。在这种情况下,您可以手动设置环境变量。