我有来自dockerfile的图片,这是设置容器,但我需要使用docker REST API创建和启动容器。问题是我有暴露ssh端口的问题。 我已经从dockerfile中删除了EXPOSE,并构建了图像。
之后我使用这个json:/ / p>在/ containers / create上发出了POST请求
{"Image":"frantiseks/apac","ExposedPorts":{"22/tcp":{}},"Memory":600000,"CpuShares":50}
已成功创建容器,因此下一步我使用带有JSON的POST
请求/containers/$id/start
启动它:
{"PortBindings": { "22/tcp": [{ "HostPort": "11022" }] }}
但是在检查容器后我没有看到映射端口,所以容器没有暴露22到主机11022端口。 我使用的是0.7.1版本。
有人能告诉我我做错了什么吗?谢谢
PS:检查过的容器: http://jsonblob.com/52b01e45e4b0439bc58ec8d4
答案 0 :(得分:1)
(为迟到的答案道歉,"社区"决定提出你的问题)
使用current 1.24 api,这都是在容器创建中完成的。您需要在其中包含以下内容:
"HostConfig": {
"PortBindings": { "22/tcp": [{ "HostPort": "11022" }] },
}
答案 1 :(得分:0)
您尝试过:
{HostIp:"", HostPort:"11022"}
?