我有来自dockerfile的映像,这是设置容器,但我需要使用docker REST API创建和启动容器。问题是我有暴露ssh端口的问题。我已经从dockerfile中删除了EXPOSE,并构建了图像。
之后,我使用这个json在/ 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版本。
有人能告诉我我做错了什么吗?谢谢
(对于迟到的回答道歉,“社区”决定提出你的问题)
使用current 1.24 api,这都是在容器创建中完成的。你需要在那里包括以下内容:
"HostConfig": {
"PortBindings": { "22/tcp": [{ "HostPort": "11022" }] },
}
你试过:{HostIp:"", HostPort:"11022"}
?