Using Docker API to push to private registry

2019-05-29 15:25发布

问题:

What is the syntax to push an image to a private registry?

From the documentation, I would expect the below to work:

curl -X POST -i "http://localhost:2375/images/localhost:5000/oillio/my_app:1.0-SNAPSHOT/push"

I can use the CLI to do this:

docker push localhost:5000/oillio/my_app:1.0-SNAPSHOT

This works fine. But I can't figure out what the syntax is to do this from the API. When I try the above, I get a status 500 response with the text "EOF"

回答1:

The tag needs to be as a parameter and not within the url:

/images/<imageName>/push?tag=<tadName>

Note that you will also need the X-Registry-Auth header.



回答2:

a working example:

curl -X POST -H "X-Registry-Auth:787f5fe5195c40ef924ac8d67948e15a" http://172.19.32.116:8833/images/172.19.32.116:5000/test7/push