我在使用Jenkins声明性管道在Docker容器中运行shell命令时遇到问题 . 使用docker workflow插件 . 它似乎无法找到命令'cat',暗示路径问题 . 我将任务限制在一个非常简单的图像(高山)中的简单任务(env shell命令),并验证/ bin / cat的工作原理 . 我的错误/误解是什么?

更新:我包含Jenkins生成的整个命令 . 我没有添加所有这些额外的参数,出于某种原因Jenkins似乎把它们注入我的控制之外 .

$ docker run -t -d -u 496:493 -w /jenkins/workspace/project-pipeline@2 -v /jenkins/workspace/project-pipeline@2:/jenkins/workspace/project-pipeline@2:rw -v /jenkins/workspace/project-pipeline@2@tmp:/jenkins/workspace/project@2@tmp:rw -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** --entrypoint cat alpine
[Pipeline] // withDockerContainer
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] End of Pipeline
java.io.IOException: Failed to run image 'alpine'. Error: docker: Error response from daemon: Container command 'cat' not found or does not exist..
at org.jenkinsci.plugins.docker.workflow.client.DockerClient.run(DockerClient.java:125)

这是我的管道阶段:

stage("test") {
  agent {
    docker {
      image 'alpine'
      label 'docker-enabled'
    }
  }
  steps {
    sh 'env'
  }
}