You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins Pipeline拉取Docker镜像创建容器失败问题排查

Jenkins Pipeline Docker操作错误分析与修正

错误原因

你误用了Docker命令:docker build是用来从Dockerfile构建新镜像的,它需要传入Dockerfile所在的本地路径,而不是已经拉取到本地的镜像名。这就是报错提示找不到路径的原因——它把镜像名当成了本地目录路径去查找,自然找不到。

要基于已拉取的镜像创建容器,你应该使用docker run命令。

修正后的Pipeline代码

pipeline {
    agent any

    stages {
        stage('Pull Images') {
            steps {
                sh 'docker pull dummy/new-repo:image1'
                sh 'docker pull dummy/new-repo:image2'
                sh 'docker pull dummy/new-repo:image3'
            }
        }
        stage('Create Containers') {
            steps {
                # -d 参数让容器后台运行,--name 给容器指定唯一名称避免冲突
                sh 'docker run -d --name container1 dummy/new-repo:image1'
                sh 'docker run -d --name container2 dummy/new-repo:image2'
                sh 'docker run -d --name container3 dummy/new-repo:image3'
            }
        }
    }
}

额外说明

  • 如果不需要容器后台运行,去掉-d参数即可;
  • 如果需要端口映射(比如把容器内80端口映射到宿主机8080),可以添加-p 8080:80参数;
  • 如果需要挂载宿主机目录到容器内,添加-v /host/path:/container/path参数;
  • 若要避免重复创建同名容器,可以在docker run前先执行docker rm -f container1(强制删除已有容器),或者用docker run --rm让容器停止后自动删除。

内容的提问来源于stack exchange,提问作者Caveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 16:42:39