REST API容器创建和端口绑定

问题描述 投票:5回答:2

我有来自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版本。

有人能告诉我我做错了什么吗?谢谢

PS:检查过的容器:http://jsonblob.com/52b01e45e4b0439bc58ec8d4

json rest docker lxc
2个回答
1
投票

(对于迟到的回答道歉,“社区”决定提出你的问题)

使用current 1.24 api,这都是在容器创建中完成的。你需要在那里包括以下内容:

   "HostConfig": {
     "PortBindings": { "22/tcp": [{ "HostPort": "11022" }] },
   }

0
投票

你试过:{HostIp:"", HostPort:"11022"}

© www.soinside.com 2019 - 2024. All rights reserved.