【问题标题】:Jenkins pipeline/docker :Jenkins does not seem to be running inside a container詹金斯管道/码头:詹金斯似乎没有在容器内运行
【发布时间】:2017-10-12 14:01:19
【问题描述】:

我正在尝试执行 Jenkins Pipeline 中的代码示例:https://jenkins.io/doc/book/pipeline/docker/

node {
/* Requires the Docker Pipeline plugin to be installed */
    docker.image('maven:3-alpine').inside('-v $HOME/.m2:/root/.m2') {
        stage('Build') {
            sh 'mvn -B'
        }
    }
}

然后给我这个错误:

[Pipeline] withDockerContainer
Jenkins does not seem to be running inside a container 
[Pipeline] // withDockerContainer

我不知道为什么它什么也没做就这样停止了。

我已经在最新版本上安装了docker,docker plugin/docker pipeline。

在配置工具中,我添加了安装根路径。

我错过了什么吗? 提前致谢

【问题讨论】:

  • 你的问题是詹金斯不是码头工人。进程是否正在运行?
  • Docker 正在运行,Jenkins 也在运行,你认为哪个进程?
  • 您是说您的错误是 Jenkins 似乎没有在容器内运行,所以我认为该进程可能正在运行
  • @flopic 我遇到了同样的问题,你解决过这个问题吗?

标签: docker jenkins jenkins-pipeline


【解决方案1】:

此消息是一条正常的调试消息,可能有点混乱,但不是错误。在编写 Jenkins 流水线代码时,在初始化期间它会检查该步骤是否已在容器中运行。我认为这个消息可以写得更好。

如果您有比此消息更多的问题,请提供整个日志。听起来可能是无法分配节点,或者没有安装docker客户端,或者无法拉取docker镜像。

【讨论】:

    【解决方案2】:

    这个问题有点老了,但我遇到了类似的情况,我想分享一下。

    我注意到 Jenkins 在管道日志的末尾提到了问题的原因。

    以我为例,问题说明:

    java.io.IOException: Failed to run top '0458e2cc8b4e09c53bb89f680026fc8d035d7e608ed0b60912d9a61ebb4fea4d'. Error: Error response from daemon: Container 0458e2cc8b4e09c53bb89f680026fc8d035d7e608ed0b60912d9a61ebb4fea4d is not running
    

    在检查发生这种情况的阶段时,它类似于您在使用dockerImage.inside() 时提到的上述情况,在我的情况下,原因是我的 Dockefile 已经定义了一个 entrypoint 并且在使用 inside 功能时詹金斯感到困惑,所以为避免这种情况,请尝试通过将entrypoint 作为参数传递给inside 函数来覆盖inside,如下所示:

    dockerImage.inside("--entrypoint=''") {
         echo "Tests passed"
    }
    

    找到问题的另一个好方法是访问您的 jenkins 服务器并使用 docker ps -a 列出 docker 容器,您可能会发现构建容器失败,检查日志然后您会得到提示,在我的情况下,日志显示 @ 987654329@.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 2019-01-09
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多