为我的泊坞机

时间:2016-10-24 09:20:25

标签: docker docker-compose

有没有办法在我的docker-compose.yml文件中的hosts文件中设置IP或理想的ID和主机名?目前我通过SequelPro通过SSH连接到我的docker DB,但如果我启动多台机器,我会得到不同的IP,然后我每次都需要在SequelPro中更新。

理想情况下,我无法docker-compose up -d能够直接访问myproject.domain.com而无需每次都找到分配的IP并更改主机文件或担心分配的IP不同。

这可能吗?

1 个答案:

答案 0 :(得分:0)

你有几个选择;哪一个最好取决于您的特殊需求。你说你通过SSH连接到你的容器,但这听起来像是一种解决方法:大概是你的Docker容器提供了除ssh以外的某种有用的服务,这就是你实际需要访问的内容。

最简单的解决方案是使用docker-compose.yaml文件中的ports指令在主机上公开该服务的网络端口。如果您只需要本地访问,您可以执行以下操作:

ports:
  - "127.0.0.1:8001:8001"

这会将容器端口8001暴露为本地主机上的端口8001。如果您需要对服务的外部访问(即,从docker主机以外的某个位置访问),您可以在主机接口上公开该端口:

ports:
  - "8001:8001"

在这种情况下,您可以<your_host_name_or_ip>:8001访问该服务。

如果这不符合您的需求,那里有一些解决方案可以在DNS中注册容器名称,但我最近没有使用过一个足以提出建议。