我正在使用Docker Pipeline Plugin 1.10版。 我将Jenkins安装在一个容器中。我有一个运行Docker守护程序的远程服务器。可以通过TCP(已测试)从Jenkins机器访问该守护程序。我在Docker守护程序上禁用了TLS安全性。 我无法使docker.withServer(...)步骤工作。 作为基本测试,我只是将以下内容放在Jenkins文件中(如果我是正确的,这是一个有效的管道内容):
docker.withServer('tcp://my.docker.host:2345') {
def myImage = docker.build('myImage')
}
当管道执行时,我收到此错误: script.sh:第2行:docker:command not found ,就像docker命令仍在尝试在本地执行(那里)是没有本地安装的docker命令)而不是我的远程Docker守护进程。
我错过了什么吗?尝试在远程服务器上执行Docker命令时是否需要在本地安装docker命令..?
答案 0 :(得分:1)
答案 1 :(得分:0)
docker
需要安装在jenkins master上,以便jenkins能够在my.docker.host
上启动docker。
docker
命令在jenkins master上运行,但带有将命令传递给my.docker.host
的参数my.docker.host
上运行请注意,您只需要在jenkins主服务器上安装docker
;守护进程不需要在jenkins master上运行。
答案 2 :(得分:0)
检查是否正确设置了端口。守护程序的默认端口为2375。必须在docker守护程序(选项-H 0.0.0.0:2375)和jenkins客户端上都进行检查