diff --git a/integration/docker_test.go b/integration/docker_test.go index f503634c7..4aa6f0b7b 100644 --- a/integration/docker_test.go +++ b/integration/docker_test.go @@ -110,7 +110,7 @@ func (s *DockerSuite) TestDefaultDockerContainers(c *check.C) { client := &http.Client{} req, err := http.NewRequest("GET", "http://127.0.0.1:8000/version", nil) c.Assert(err, checker.IsNil) - req.Host = fmt.Sprintf("%s.docker.localhost", name) + req.Host = fmt.Sprintf("%s.docker.localhost", strings.Replace(name, "_", "-", -1)) resp, err := client.Do(req) c.Assert(err, checker.IsNil) diff --git a/provider/docker.go b/provider/docker.go index 2ffeb41ac..1871d1c1f 100644 --- a/provider/docker.go +++ b/provider/docker.go @@ -595,9 +595,9 @@ func parseContainer(container dockertypes.ContainerJSON) dockerData { return dockerData } -// Escape beginning slash "/", convert all others to dash "-" +// Escape beginning slash "/", convert all others to dash "-", and convert underscores "_" to dash "-" func (provider *Docker) getSubDomain(name string) string { - return strings.Replace(strings.TrimPrefix(name, "/"), "/", "-", -1) + return strings.Replace(strings.Replace(strings.TrimPrefix(name, "/"), "/", "-", -1), "_", "-", -1) } func (provider *Docker) listServices(ctx context.Context, dockerClient client.APIClient) ([]dockerData, error) {