Docker:只给一个随机的端口映射到某些端口

我正在使用Docker 1.9.1的远程API来创build一个容器。

我想要做的一件事情是,在图像的所有暴露端口中,我只想暴露其中的一些(或者换句话说就是给它们主机端口映射),同时我不想pipe理主机端口使用,但希望Docker拿起随机的和可用的。

例如,一个图像有端口80,443,22暴露,我想要的是在Docker运行的味道这样的东西(我知道这是不可能通过cmd线)

docker run -p {a random available port}:80 image

我可以通过远程API实现这样的事情吗? 现在我只能设置PublishAllPorts = true但是发布所有的端口和浪费太多的主机端口。

DockerrestAPI启动容器允许您定义端口绑定。 对于随机映射到主机端口使用“PortBindings”:{“80 / tcp”:[{“HostPort”:“”}]}