docker creds in build-specific directory (#5167)

diff --git a/tools/jenkins/apache/dockerhub.groovy b/tools/jenkins/apache/dockerhub.groovy
index c1b7c25..6ff1c59 100644
--- a/tools/jenkins/apache/dockerhub.groovy
+++ b/tools/jenkins/apache/dockerhub.groovy
@@ -26,15 +26,16 @@
   stage("Build and Deploy to DockerHub") {
     def JAVA_JDK_8=tool name: 'jdk_1.8_latest', type: 'hudson.model.JDK'
     withEnv(["Path+JDK=$JAVA_JDK_8/bin","JAVA_HOME=$JAVA_JDK_8"]) {
+      sh "mkdir $WORKSPACE/local-docker-cfg"
       withCredentials([usernamePassword(credentialsId: 'openwhisk_dockerhub', passwordVariable: 'DOCKER_PASSWORD', usernameVariable: 'DOCKER_USER')]) {
-          sh 'docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD}'
+          sh 'HOME="$WORKSPACE/local-docker-cfg" docker login -u ${DOCKER_USER} -p ${DOCKER_PASSWORD}'
       }
       def PUSH_CMD = "./gradlew :core:controller:distDocker :core:invoker:distDocker :core:standalone:distDocker :core:monitoring:user-events:distDocker :tools:ow-utils:distDocker :core:cosmos:cache-invalidator:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk"
       def gitCommit = sh(returnStdout: true, script: 'git rev-parse HEAD').trim()
       def shortCommit = gitCommit.take(7)
       sh "./gradlew clean"
-      sh "${PUSH_CMD} -PdockerImageTag=nightly"
-      sh "${PUSH_CMD} -PdockerImageTag=${shortCommit}"
+      sh "HOME=\"$WORKSPACE/local-docker-cfg\" ${PUSH_CMD} -PdockerImageTag=nightly"
+      sh "HOME=\"$WORKSPACE/local-docker-cfg\" ${PUSH_CMD} -PdockerImageTag=${shortCommit}"
     }
   }
 
@@ -42,6 +43,8 @@
     sh "docker images"
     sh 'docker rmi -f $(docker images -f "reference=openwhisk/*" -q) || true'
     sh "docker images"
+    sh "docker logout"
+    sh "rm -rf $WORKSPACE/local-docker-cfg"
   }
 
   stage("Notify") {