Docker 码头工人中的詹金斯无法提取图像
我已经在我的windows笔记本电脑上安装了oracle virtual box和docker toolbox。 我已经在docker内部创建了Jenkins容器。 詹金斯工作得很好。 但是,当我创建示例管道时,它失败了 以下是docker版本:Docker 码头工人中的詹金斯无法提取图像,docker,jenkins,groovy,Docker,Jenkins,Groovy,我已经在我的windows笔记本电脑上安装了oracle virtual box和docker toolbox。 我已经在docker内部创建了Jenkins容器。 詹金斯工作得很好。 但是,当我创建示例管道时,它失败了 以下是docker版本: Client: Version: 18.09.3 API version: 1.39 Go version: go1.12 Git commit: 774a1f4eee Built:
Client:
Version: 18.09.3
API version: 1.39
Go version: go1.12
Git commit: 774a1f4eee
Built: Mon Mar 4 10:36:44 2019
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89e8a
Built: Thu Jul 25 21:27:55 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
以下是管道:
pipeline {
agent {
docker { image 'hello-world' }
}
stages {
stage('Test') {
steps {
sh 'docker version'
}
}
}
}
错误如下:
java.io.IOException: Failed to run image 'hello-world'. Error: docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"cat\": executable file not found in $PATH": unknown.
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.run(DockerClient.java:138)
at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Execution.start(WithContainerStep.java:199)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:286)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:179)
at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:122)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:20)
at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(Docker.groovy:126)
at org.jenkinsci.plugins.docker.workflow.Docker.node(Docker.groovy:66)
at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(Docker.groovy:114)
at
实际误差为
java.io.IOException: Failed to run image 'hello-world'. Error: docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"cat\": executable file not found in $PATH": unknown.
您的图像中没有docker,即hello world,docker版本将假定在容器内运行
第二件事
steps {
sh 'echo hello form container'
}
运行bash或sh将无法运行hello word容器,因为这个容器是从头开始的,没有bash或sh。它只是容器执行hello文件
若你们只是想和docker打个招呼,那个么改变管道和基础图像
pipeline {
agent {
docker { image 'alpine' }
}
stages {
stage('Test') {
steps {
sh 'echo hello form container'
}
}
}
}
“执行官:\”猫\":? 似乎您已被修改Dockerfile或pipline似乎不完整我已在查询中给出管道。没有dockerfile。现在我正在写管道本身中的命令。你能自己在本地运行docker映像吗?我会从那里开始是的,它在本地运行良好。好的,那么你是如何创建图像的?那有Dockerfile吗?