我是新来的码头工人。我已经阅读了Docker远程API中的tutorial。在创建容器方面。它显示我有太多的参数要填写。我想知道什么就相当于这个命令:如何使用docker remote api创建容器?
搬运工运行-d -p 5000:5000 --restart =总是--name注册表 注册表:2。
我不知道这件事。谁能告诉我?谢谢!
我是新来的码头工人。我已经阅读了Docker远程API中的tutorial。在创建容器方面。它显示我有太多的参数要填写。我想知道什么就相当于这个命令:如何使用docker remote api创建容器?
搬运工运行-d -p 5000:5000 --restart =总是--name注册表 注册表:2。
我不知道这件事。谁能告诉我?谢谢!
原来的答复(2015年7月):
这将是(不直接测试),为in this tutorial(提供remote API is enabled):
首先创建容器:
curl -v -X POST -H "Content-Type: application/json" -d '{"Image": " registry:2.",}' http://localhost:2376/containers/create?name=registry
然后启动它:
curl -v -X POST -H "Content-Type: application/json" -d '{"PortBindings": { "5000/tcp": [{ "HostPort": "5000" }] },"RestartPolicy": { "Name": "always",},}' http://localhost:2376/containers/registry/start?name=registry
更新二月é017,码头1.13 +请参阅rocksteady的answer,使用类似的想法,但与当前engine/api/v1.26。
或多或少只是复制VonC的答案,以便更新至今日版本的docker (1.13)和docker remote api version (v1.26)。
所不同的是:
{"message":"starting container with non-empty request body was deprecated since v1.10 and removed in v1.12"}
首先创建容器:(包括所有的配置) curl -v -X POST -H "Content-Type: application/json" -d @docker.conf http://localhost:2376/containers/create?name=registry
文件docker.conf
看起来是这样的:
{
"Image": registry:2.",
"ExposedPorts": {
"5000/tcp": {}
},
"HostConfig": {
"PortBindings": {
"5000/tcp": [
{
"HostPort": "5000"
}
]
},
"RestartPolicy": {
"Name": "always"
}
"AutoRemove": true
}
}
然后启动它:(参数名是没有必要的,容器刚刚任命注册表) curl -v -X POST -H "Content-Type: application/json" http://localhost:2376/containers/registry/start
很好的更新到我以前的答案。+1 – VonC
首先有用的答案。 – rocksteady
谢谢您的回答,我有成功。 – v11
我在java中使用HttpClient来连接API,添加你显示的参数,它返回有关“无效字符”的错误,我正在寻找值的开始“,为什么?我更新我的问题。 – v11
@ v11考虑到你提到你已经成功了,你能否提出一个新的问题?这将允许其他人使用这个卷曲。它最初没有提到java API。 – VonC