-
Notifications
You must be signed in to change notification settings - Fork 420
Description
With the previous behavior of docker-workflow-plugin (1.15) I was able to nest my `docker.withRegistry()` calls so I can access numerous registries at the same time.
Example:
node('docker') { docker.withRegistry('https://repo1.private.com', '5d243c54-3d2c-42e3-9c3d-35c1cbe61ddd') { docker.withRegistry('https://repo2.private.com', '5d243c54-3d2c-42e3-9c3d-35c1cbe61ddd') { sh('docker pull repo1/library/image:latest') sh('docker pull repo2/libraryimage:latest') } } }
From the output it looks like each credential is stored in it's own file per registry. My assumption is that with nested logins, it should be in the same credential store/file?
Is there any workaround for this?
Update – after more investigation – think this is more related to the docker-commons plugin - think it's related to this MR: https://github.com/jenkinsci/docker-workflow-plugin/pull/140/files
This MR introduced the env variables - specifically `DOCKER_CONFIG`- -
Update – further investigation – there has been an update to docker-commons-plugin that fixed this issue with--https://issues.jenkins-ci.org/browse/JENKINS-52737---
Made a MR for to use the latest docker-commons:[-https://github.com/[JENKINS-59777] Updated docker-commons to 1.15 #193-] - Update – Fixes need on the docker-commons logic. MR here: [JENKINS-59777] Allow nested docker.withRegistry() blocks docker-commons-plugin#82
Originally reported by arty13, imported from: nested docker.withRegistry() does not work
- assignee:
jglick
- status: In Review
- priority: Minor
- component(s): docker-commons-plugin, docker-workflow-plugin
- resolution: Unresolved
- votes: 5
- watchers: 7
- imported: 2025-12-07
Raw content of original issue
With the previous behavior of docker-workflow-plugin (1.15) I was able to nest my `docker.withRegistry()` calls so I can access numerous registries at the same time.
Example:
node('docker') { docker.withRegistry('https://repo1.private.com', '5d243c54-3d2c-42e3-9c3d-35c1cbe61ddd') { docker.withRegistry('https://repo2.private.com', '5d243c54-3d2c-42e3-9c3d-35c1cbe61ddd') { sh('docker pull repo1/library/image:latest') sh('docker pull repo2/libraryimage:latest') } } }From the output it looks like each credential is stored in it's own file per registry. My assumption is that with nested logins, it should be in the same credential store/file?
Is there any workaround for this?
Update – after more investigation – think this is more related to the docker-commons plugin - think it's related to this MR: https://github.com/jenkinsci/docker-workflow-plugin/pull/140/filesThis MR introduced the env variables - specifically `DOCKER_CONFIG`- -
Update – further investigation – there has been an update to docker-commons-plugin that fixed this issue with--https://issues.jenkins-ci.org/browse/JENKINS-52737---Made a MR for to use the latest docker-commons:[-https://github.com/jenkinsci/docker-workflow-plugin/pull/193-] - Update – Fixes need on the docker-commons logic. MR here: [JENKINS-59777] Allow nested docker.withRegistry() blocks docker-commons-plugin#82
environment
Jenkins 2.190.1<br/>
docker-workflow-plugin 1.21<br/>
docker-commons 1.15