1
0
Fork 0

Use docker-compose labels for frontend and backend names

This commit is contained in:
tcoupin 2017-03-04 13:31:07 +01:00 committed by Emile Vauge
parent df685fa050
commit 0a7f9b5a71
No known key found for this signature in database
GPG key ID: D808B4C167352E59
3 changed files with 49 additions and 1 deletions

View file

@ -525,6 +525,10 @@ func (provider *Docker) getFrontendRule(container dockerData) string {
if label, err := getLabel(container, "traefik.frontend.rule"); err == nil {
return label
}
if labels, err := getLabels(container, []string{"com.docker.compose.project", "com.docker.compose.service"}); err == nil {
return "Host:" + provider.getSubDomain(labels["com.docker.compose.project"]+"_"+labels["com.docker.compose.service"]) + "." + provider.Domain
}
return "Host:" + provider.getSubDomain(container.ServiceName) + "." + provider.Domain
}
@ -532,6 +536,9 @@ func (provider *Docker) getBackend(container dockerData) string {
if label, err := getLabel(container, "traefik.backend"); err == nil {
return normalize(label)
}
if labels, err := getLabels(container, []string{"com.docker.compose.project", "com.docker.compose.service"}); err == nil {
return normalize(labels["com.docker.compose.project"] + "_" + labels["com.docker.compose.service"])
}
return normalize(container.ServiceName)
}