0

Ich versuche, Bild zu Docker Wolke mit Jenkins mit dem docker-build-step Plugin zu bauen und zu schieben. Passwort für Docker-Hub mit Jenkins Password Manager-Plugin hinzugefügt.Jenkins docker-build-step-Plugin ist nicht in der Lage, Bild an Docker Wolke zu schieben

Ich mache das in zwei Schritten. Der erste Schritt verwendet den Befehl Build/Create Image. Der Befehl erstellt ein Image und kennzeichnet es mit der Build-ID.

Zweiter Schritt schiebt Bild zum Docker-Hub. Hier Konsole Spur:

[Docker] INFO: Build image id:5240329f9db6 
[Docker] INFO: Pushing image parthmodi/docker_demo:test_push 
[Docker] INFO: PushResponseItem[stream=<null>,status=The push refers to a repository [docker.io/parthmodi/docker_demo],progressDetail=<null>,progress=<null>,id=<null>,from=<null>,time=<null>,errorDetail=<null>,error=<null>,aux=<null>] 

...

[Docker] INFO: PushResponseItem[stream=<null>,status=<null>,progressDetail=<null>,progress=<null>,id=<null>,from=<null>,time=<null>,errorDetail=ResponseItem.ErrorDetail[code=<null>,message=denied: requested access to the resource is denied],error=denied: requested access to the resource is denied,aux=<null>] 
ERROR: Build step failed with exception 
com.github.dockerjava.api.exception.DockerClientException: Could not push image: denied: requested access to the resource is denied 
    at com.github.dockerjava.core.command.PushImageResultCallback.awaitSuccess(PushImageResultCallback.java:49) 
    at org.jenkinsci.plugins.dockerbuildstep.cmd.PushImageCommand.execute(PushImageCommand.java:81) 
    at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:74) 
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:736) 
    at hudson.model.Build$BuildExecution.build(Build.java:206) 
    at hudson.model.Build$BuildExecution.doRun(Build.java:163) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:496) 
    at hudson.model.Run.execute(Run.java:1737) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:97) 
    at hudson.model.Executor.run(Executor.java:421) 
Build step 'Execute Docker command' marked build as failure 
Finished: FAILURE 

Hier komplette Spur: https://pastebin.com/tFy399D5

Warum ich Could not push image: denied: requested access to the resource is denied Störung erhalte Bild Docker Registry zu schieben, und was kann ich Um es zu lösen?

+0

wenn seine private dockerhub Repo mit Benutzername und Passwort, dann müssen Sie es passieren jenkins, https://www.cloudbees.com/blog/docker-hub-20-integration-cloudbees-jenkins-platform –

Antwort

0

Versuchen Sie, diese

stage('build and publish'){ 
def dockerImage = docker.build('dockerImageName') 
docker.withRegistry(RegistryURL, CredentialID) { 
     dockerImage.push('latest') 
} 
} 
+0

Wie und wo zu benutze dieses Skript? –

+0

Hat die obige Antwort geholfen? –

0

auch ähnliche Probleme wie OP hatte, aber mit dem Codebeispiel Ram Kamath. Das Problem liegt in der falschen RegistryURL, die ich an die docker.withRegistry übergeben habe. Ich hatte es als https://index.docker.io/v2/, aber die Anmeldeinformationen waren für die https://index.docker.io/v1/ API.

Verwandte Themen