小编kal*_*tar的帖子

什么是Docker推送到私有注册表的X-Registry-Auth的内容

使用REST API将Docker镜像推送到私有注册表时,X-Registry-Auth头的内容应该是什么?每个使用Docker API推送到私有注册表,需要一个X-Registry-Auth头.https://groups.google.com/forum/#!topic/docker-user/vXcA8fsCNZM建议该值应为以下格式的base64编码JSON字符串:

{'username': string, 'password': string, 'email': string, 'serveraddress' : string}
Run Code Online (Sandbox Code Playgroud)

设置合适的环境变量后,我做了:

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
Run Code Online (Sandbox Code Playgroud)

得到403 Forbidden回应.

也许问题只是我不知道价值应该是什么.我怎样才能确定它们?Docker似乎有办法; sudo docker push $REGISTRY/$NAMESPACE/$REPOSITORY:$TAG工作得很好.

docker docker-registry

6
推荐指数
2
解决办法
3379
查看次数

如何使用REST API设置Docker容器的名称

我试图通过REST API创建和启动容器.也就是说,使用以下API:

curl --http1.0 --request POST --header "Content-Type: application.json" http://$DOCKER_HOST:4243/containers/create --data @create.json
Run Code Online (Sandbox Code Playgroud)

其中create.json是所需属性的JSON文件.我想为容器指定一个特定的名称.可以通过docker CLI使用run命令中的--name参数执行此操作:

docker run --name "my_name" my_image
Run Code Online (Sandbox Code Playgroud)

创建容器的文档(https://docs.docker.com/reference/api/docker_remote_api_v1.15/#create-a-container)提供了一个示例JSON有效负载.未列出名称属性.我尝试了以下名称属性的变体:

"Name": "my_name"
"Names": [ "my_name" ]
"Names": [ "/my_name" ]
"Name": "/my_name"
Run Code Online (Sandbox Code Playgroud)

一切都无济于事.变体的灵感来自查询结果:

curl --http1.0 http://$DOCKER_HOST:4243/containers/json
Run Code Online (Sandbox Code Playgroud)

返回包含以下内容的条目:

"Names":["/elegant_mccarthy"]
Run Code Online (Sandbox Code Playgroud)

docker

4
推荐指数
1
解决办法
4273
查看次数

标签 统计

docker ×2

docker-registry ×1