Squashed commit of the following:
commit 468cdf5c74b8df80fe6cc093feda84d124d47460 Author: Erin Dachtler <download333@gmail.com> Date: Mon May 30 17:21:50 2016 -0700 Documentation update commit bcbe622141fc333579177e056b49d418997c511d Author: Erin Dachtler <download333@gmail.com> Date: Sat May 28 15:32:34 2016 -0700 Whoops, forgot to fmt commit 1ad5f1052541372722adc372069da094b422c793 Author: Erin Dachtler <download333@gmail.com> Date: Sat May 28 14:56:04 2016 -0700 Added getIPAddress helper for docker template, and tests
This commit is contained in:
parent
a9f9894f29
commit
df7e1cf078
4 changed files with 97 additions and 4 deletions
|
@ -160,6 +160,7 @@ func (provider *Docker) Provide(configurationChan chan<- types.ConfigMessage, po
|
|||
func (provider *Docker) loadDockerConfig(containersInspected []dockertypes.ContainerJSON) *types.Configuration {
|
||||
var DockerFuncMap = template.FuncMap{
|
||||
"getBackend": provider.getBackend,
|
||||
"getIPAddress": provider.getIPAddress,
|
||||
"getPort": provider.getPort,
|
||||
"getWeight": provider.getWeight,
|
||||
"getDomain": provider.getDomain,
|
||||
|
@ -244,6 +245,22 @@ func (provider *Docker) getBackend(container dockertypes.ContainerJSON) string {
|
|||
return normalize(container.Name)
|
||||
}
|
||||
|
||||
func (provider *Docker) getIPAddress(container dockertypes.ContainerJSON) string {
|
||||
if label, err := getLabel(container, "traefik.docker.network"); err == nil && label != "" {
|
||||
networks := container.NetworkSettings.Networks
|
||||
if networks != nil {
|
||||
network := networks[label]
|
||||
if network != nil {
|
||||
return network.IPAddress
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, network := range container.NetworkSettings.Networks {
|
||||
return network.IPAddress
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (provider *Docker) getPort(container dockertypes.ContainerJSON) string {
|
||||
if label, err := getLabel(container, "traefik.port"); err == nil {
|
||||
return label
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue