【发布时间】:2015-07-13 11:19:15
【问题描述】:
我是 docker 新手。我已经阅读了 docker remote API 中的tutorial。在创建容器方面。它向我展示了太多无法填充的参数。我想知道这个命令相当于什么:
docker run -d -p 5000:5000 --restart=always --name 注册表 注册表:2。
我对此一无所知。谁能告诉我?谢谢!
【问题讨论】:
标签: docker
我是 docker 新手。我已经阅读了 docker remote API 中的tutorial。在创建容器方面。它向我展示了太多无法填充的参数。我想知道这个命令相当于什么:
docker run -d -p 5000:5000 --restart=always --name 注册表 注册表:2。
我对此一无所知。谁能告诉我?谢谢!
【问题讨论】:
标签: docker
原始答案(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
2017 年 2 月更新,对于 docker 1.13+,请参阅 rocksteady 的 answer,使用类似的想法,但使用当前的 engine/api/v1.26。
【讨论】:
或多或少只是复制VonCs 的答案,以便更新到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
}
}
然后启动它: (参数name不是必须的,容器只是命名为registry)
curl -v -X POST -H "Content-Type: application/json" http://localhost:2376/containers/registry/start
【讨论】:
在 Docker Engine v1.24 中创建 docker 容器
执行发布请求 -
curl -X POST -H "Content-Type: application/json" http://DOCKER_SERVER_HOST:DOCKER_PORT/v1.24/containers/create?name=containername
在请求正文中,可以指定JSON参数,如
{
"Hostname": "172.x.x.x",
"Image": "docker-image-name",
"Volumes": "",
"Entrypoint": "",
"Tty": true
}
它会创建你的 docker 容器
启动容器
执行 POST 请求
curl -X POST http://DOCKER_SERVER_HOST:DOCKER_PORT/v1.24/containers/containername/start
【讨论】: