首页 > 解决方案 > 使用 REST api 进行 Docker 端口范围绑定

问题描述

通过REST api运行容器时,我需要将端口 1024 到 2048 绑定到我的主机。我试过使用类似“docker run”的语法,但没有运气:

    PortBindings: {
                    "1024-2048": [{ "HostPort": "1024-2048" }],   
                  }

如何做到这一点?

标签: docker

解决方案


您缺少协议。从Docker Engine API v1.24的文档中:

PortBindings - 暴露的容器端口和它们应该映射到的主机端口的映射。表单中的 JSON 对象 { <port>/<protocol>: [{ "HostPort": "<port>" }] }

请注意,端口被指定为字符串而不是整数值。

所以你的请求应该有:

PortBindings: {
  "1024-2048/tcp": [{ "HostPort": "1024-2048" }],   
}

推荐阅读