有没有办法在docker-compose.yml文件的hosts文件中设置IP或理想情况下的ID和主机名?目前我正在通过SequelPro通过SSH进入我的docker DB,但是如果我启动了多台机器,我会得到不同的IP,然后每次都需要在SequelPro中进行更新。
理想情况下,我不能docker-compose up -d,然后能够直接访问myproject.domain.com,而不必每次都找到分配的IP并更改我的主机文件,或者担心分配的IP不同。
这个是可能的吗?
发布于 2016-10-24 20:55:27
您有几个选择;哪一个是最好的实际上取决于您的特定需求。您说您正在通过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中注册容器名称,但我最近还没有使用一个足够多的解决方案来提出建议。
https://stackoverflow.com/questions/40214823
复制相似问题