在没有交互模式的情况下使用Docker管道插件

在没有交互模式的情况下使用Docker管道插件,docker,jenkins,jenkins-pipeline,Docker,Jenkins,Jenkins Pipeline,我试图使用docker和Jenkins脚本化管道,但遇到了几个问题 如果我在sh docker中使用它。。。这会导致一个错误 未找到docker命令 我试图通过在全局配置工具中更改安装设置来修复它,但没有成功 我正在尝试使用Docker插件 其中cmd==-user=\$UID-rm-t-v./build/:/home/user/build 192.168.1.33:5000/my img 我将此代码用于动态生成的并行阶段列表,并得到了此错误 java.net.MalformedURLExcep

我试图使用docker和Jenkins脚本化管道,但遇到了几个问题

如果我在sh docker中使用它。。。这会导致一个错误

未找到docker命令

我试图通过在全局配置工具中更改安装设置来修复它,但没有成功

我正在尝试使用Docker插件

其中cmd==-user=\$UID-rm-t-v./build/:/home/user/build 192.168.1.33:5000/my img

我将此代码用于动态生成的并行阶段列表,并得到了此错误

java.net.MalformedURLException:无协议:192.168.1.33:5000

这个插件的正确用法是什么?
我在docker中找到了许多使用withRun和其他方法的示例,但我不需要在该图像中运行任何命令,我在Dockerfile中有命令,因此它是为我的容器内置的。

您缺少协议,注册表必须是https://192.168.1.33:5000您缺少协议,注册表必须是https://192.168.1.33:5000错误本身有答案:

java.net.MalformedURLException:无协议:192.168.1.33:5000

自定义注册表中缺少协议。提及


错误本身的答案是:

java.net.MalformedURLException:无协议:192.168.1.33:5000

自定义注册表中缺少协议。提及


我也有相对路径的问题,但简单的修复是在相对路径之前添加pwd来构建修复


Thx@yzT

我对相对路径也有问题,但简单的修复方法是在相对路径之前添加pwd来构建修复

Thx@yzT

def run_my_stage(String name, String cmd, String commit) {
return {
    stage(name) {
        node("builder") {
                docker.withRegistry("192.168.1.33:5000") {
                    def myimg = docker.image("my-img")
                    sh "docker pull ${myimg.imageName()}"
                    sh "docker run ${cmd}"
                }
            }
        }
}
def run_my_stage(String name, String cmd, String commit) {
return {
    stage(name) {
        node("builder") {
                docker.withRegistry("https://192.168.1.33:5000") {
                    def myimg = docker.image("my-img")
                    sh "docker pull ${myimg.imageName()}"
                    sh "docker run ${cmd}"
                }
            }
        }
}