diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/exec/PushImageCmdExec.java b/docker-java-core/src/main/java/com/github/dockerjava/core/exec/PushImageCmdExec.java index 0f3705089..4f4540891 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/exec/PushImageCmdExec.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/exec/PushImageCmdExec.java @@ -6,7 +6,6 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.command.PushImageCmd; -import com.github.dockerjava.api.model.AuthConfig; import com.github.dockerjava.api.model.PushResponseItem; import com.github.dockerjava.core.DockerClientConfig; import com.github.dockerjava.core.InvocationBuilder; @@ -22,17 +21,11 @@ public PushImageCmdExec(WebTarget baseResource, DockerClientConfig dockerClientC super(baseResource, dockerClientConfig); } - private String name(PushImageCmd command) { - String name = command.getName(); - AuthConfig authConfig = command.getAuthConfig(); - return (name.contains("/") || authConfig == null) ? name : authConfig.getUsername(); - } - @Override protected Void execute0(PushImageCmd command, ResultCallback resultCallback) { - - WebTarget webResource = getBaseResource().path("/images/" + name(command) + "/push").queryParam("tag", - command.getTag()); + WebTarget webResource = getBaseResource().path("/images/{imageName}/push") + .resolveTemplate("imageName", command.getName()) + .queryParam("tag", command.getTag()); LOGGER.trace("POST: {}", webResource); diff --git a/docker-java/src/test/java/com/github/dockerjava/cmd/PushImageCmdIT.java b/docker-java/src/test/java/com/github/dockerjava/cmd/PushImageCmdIT.java index e05ca151e..7f55d5f9e 100644 --- a/docker-java/src/test/java/com/github/dockerjava/cmd/PushImageCmdIT.java +++ b/docker-java/src/test/java/com/github/dockerjava/cmd/PushImageCmdIT.java @@ -79,7 +79,7 @@ public void pushNonExistentImage() throws Exception { exception.expect(NotFoundException.class); } - dockerRule.getClient().pushImageCmd("local/" + UUID.randomUUID().toString().replace("-", "")) + dockerRule.getClient().pushImageCmd(UUID.randomUUID().toString().replace("-", "")) .start() .awaitCompletion(30, TimeUnit.SECONDS); // exclude infinite await sleep