如何使用Docker Compose设置容器以使用静态IP并可在VM主机之外访问?

我想在我docker-compose.yml为我的容器指定一个静态IP地址,以便我可以从外部访问它,例如使用https://<ip-address>ssh user@<ip-address>主机虚拟机。

也就是说,使公司networking上的其他机器可以直接访问Docker容器,并在特定的静态IP地址上访问。 我不想映射特定的端口,我希望能够直接访问容器。

docker-compose.yml

 master: image: centos:7 container_name: master hostname: master 

这可能吗?

我正在使用Virtualbox驱动程序,因为我在OS X上。

到目前为止,这是不可能的,它将在Docker v 1.10(这应该在几个星期后发布)。

编辑:

查看关于GH的公关 。

我相信额外的主机入口是一个解决scheme。

 extra_hosts: - "somehost:162.242.195.82" - "otherhost:50.31.209.229" 

请参阅extra_hosts 。

编辑:

正如奥齐亚斯在评论中指出的,我误解了这个问题。 答案不正确。

您可以在运行时使用--ip参数指定容器的IP地址,这样容器的IP总是相同的。 之后,您可以ssh到您的主机虚拟机,然后“附加”到容器。

否则,我不知道…也许尝试运行容器--net=hosthttps://docs.docker.com/engine/userguide/networking/dockernetworks/

主机networking在主机networking堆栈上添加一个容器。 您会发现容器内的networkingconfiguration与主机相同。