我正在使用docker-compose 1.6和docker 1.10.1以及docker-compose.yml的第2版。
如Networking in Compose中所述,创建了新网络,并在docker-compose up
之后为其中的所有容器分配了主机名。
如何在docker-compose scale <component>=2
之后通过主机名覆盖其他(即缩放的)容器?
答案 0 :(得分:3)
根据我已经看到的示例,假设您的容器名称为db
,则缩放容器的名称为db_1
,db_2
等等。
答案 1 :(得分:2)
使用&#34; scale&#34;时,内部docker dns服务仅解析projectname_db_1,projectname_db_2等全名。当然,最好另外提供解析服务名称+索引而没有项目名称前缀。
答案 2 :(得分:2)
我有answered这个基于python和docker api的问题。
您基本上可以使用docker api
来确定您的项目名称和服务名称。
然后,您可以针对同一project
+ service
过滤所有可用容器,以获取自己的其他实例。
通过查找数字,您最终可以构建主机名。
请参阅 How to get infos about ourself in a compose cluster (backup at gist.github.com)