Docker:只为某些端口提供随机端口映射

时间:2016-07-14 22:14:04

标签: docker

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

我想要完成的一件事是,在图像的所有暴露端口中,我只想暴露其中的一些(或者换句话说,给它们主机端口映射),同时我不要我想管理要使用的主机端口,但希望Docker能够获取随机和可用的端口。

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

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

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

1 个答案:

答案 0 :(得分:2)

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