Использование Docker с конвейером в документации Jenkins охватывает типичные случаи. Это описано в разделе Запуск контейнеров "sidecar" : вы можете вызвать docker.image('someImage:latest')
, чтобы получить объект изображения, и его метод withRun
при необходимости вытянет изображение.
docker.withRegistry(...) {
docker.image('someImage:latest').withRun() { container ->
println container.id
}
}
Сам сервер Jenkins имеет документацию по глобальным переменным; Я не могу легко найти каноническую онлайн-справку, но попробуйте перейти на /pipeline-syntax/globals
на локальном сервере Jenkins и найти объект docker
. Вы можете вручную image.pull()
, если вам нужно (хотя обратите внимание, что .withRun()
будет извлекать изображение самостоятельно, если оно еще не существует локально).
Все ваши примеры пытаются распечатать идентификатор изображение. Это не похоже на свойство объекта image
; image.id
может существовать, но не может быть информативным
def image = docker.image('someImage:latest')
image.pull()
echo image.id // will print "someImage:latest"
Если вам действительно нужно это знать, вы можете запустить docker inspect
, чтобы найти его.
sh "docker inspect -f '{{ .Id }}' ${image.id}"