When there are multiple jobs running in parallel on the same slave the credentials get overwritten before the job finishes and it causes an authentication error.
Job 1 starts
.dockercfg is written with credentialsA
Job 2 starts
.dockercfg is written with credentialsB
Job 1 tries to pull image and fails because .dockercfg already contains credentialsB