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

如何使用Docker Compose设置容器以使用静态IP并在VM主机外部访问?,docker,containers,docker-compose,Docker,Containers,Docker Compose,我想在我的docker compose.yml中为我的容器指定一个静态IP地址,以便我可以从主机VM外部访问它,例如使用https://或ssh user@ 也就是说,使我公司网络上的其他机器能够在特定的静态IP地址上直接访问Docker容器。我不希望映射特定的端口,我希望能够直接访问容器 docker compose.yml的起点是: master: image: centos:7 container_name: master hostname: master 这可能吗 我使用的

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

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

docker compose.yml的起点是:

master:
  image: centos:7
  container_name: master
  hostname: master
这可能吗


我使用的是Virtualbox驱动程序,因为我使用的是OS X。

我认为额外的主机条目是一个解决方案

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

编辑:


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

目前还不可能,它将出现在Docker v 1.10中(应该在几周后发布)

编辑:


请参阅。

您可以在运行容器时使用
--IP
参数指定容器的IP地址,这样,容器的IP将始终相同。之后,您可以使用ssh连接到主机VM,然后“附加”到容器

否则,我不确定。。。可能尝试使用
--net=host

主机网络在主机网络堆栈上添加一个容器。你会 发现容器内的网络配置与相同 主持人


我不确定
额外的\u主机是否应该是一个容器@fredrik Docker的下一个版本(v1.10)将有可能在最多两周内发布。我的印象是,
额外的主机
只是将内容添加到容器上的
/etc/hosts
。这不会使容器在特定IP地址上可访问@奥齐亚斯先生哦,太棒了。那我可能就得等几个星期了!这真的可以在docker-compose.yml中定义IP地址吗?这似乎只在使用
docker
命令(使用docker 1.10)时有效,而不是
docker compose
命令?我不确定,但我想是这样。我不确定,但我想是这样。所有详细信息可在此处找到: