我使用docker-compose 1.6和docker-compose.yml的docker 1.10.1和version 2。如何在docker-compose scale后通过主机名访问其他容器?
如Networking in Compose中所述,创建新网络并在docker-compose up
之后为其分配主机名。
如何在docker-compose scale <component>=2
之后通过主机名访问更多(即缩放)的容器?
我使用docker-compose 1.6和docker-compose.yml的docker 1.10.1和version 2。如何在docker-compose scale后通过主机名访问其他容器?
如Networking in Compose中所述,创建新网络并在docker-compose up
之后为其分配主机名。
如何在docker-compose scale <component>=2
之后通过主机名访问更多(即缩放)的容器?
基础上的例子,我所看到的,假设你的容器名称是db
,缩放容器有db_1
,db_2
等名字......
当使用“规模”,内部搬运工DNS服务只解析全名如projectname_db_1,projectname_db_2等。当然,最好还提供解决服务名称+索引而不用项目名称前缀。
我有answered这个问题基于python与docker api。
您基本上可以使用docker api
来找出您的项目名称和服务名称。
然后,您可以过滤所有可用容器的相同project
+ service
以获取您自己的其他实例。
通过查找数字,您最终可以构建主机名。
见How to get infos about ourself in a compose cluster (backup at gist.github.com)
回答在http://stackoverflow.com/a/39895650/3423324 – luckydonald