如何使用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=host
从https://docs.docker.com/engine/userguide/networking/dockernetworks/
主机networking在主机networking堆栈上添加一个容器。 您会发现容器内的networkingconfiguration与主机相同。