使用REST API将 Docker 映像推送到私有注册表时,X-Registry-Auth 标头的内容应该是什么?根据Using Docker API to push to private registry,需要一个 X-Registry-Auth 标头。https://groups.google.com/forum/#!topic/docker-user/vXcA8fsCNZM建议该值应该是格式为 base64 编码的 JSON 字符串:
{'username': string, 'password': string, 'email': string, 'serveraddress' : string}
设置合适的环境变量后,我做了:
XRA=`echo "{\"username\": \"${USERNAME}\", \"password\": \"${PASSWORD}\", \"email\": \"${EMAIL_ADDRESS}\", \"serveraddress\" : \"${SERVER_ADDRESS}\"}" | base64 --wrap=0`
curl -v --request POST --header "X-Registry-Auth: $XRA" http://$DOCKER_HOST/v1/images/$REGISTRY/$NAMESPACE/$REPOSITORY?tag=$TAG
并得到403 Forbidden回应。
也许问题只是我不知道值应该是什么。我怎样才能确定它们?Docker 似乎有办法;sudo docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$TAG工作得很好。