diff --git a/docker/factory.go b/docker/factory.go index 46951a4..8294648 100644 --- a/docker/factory.go +++ b/docker/factory.go @@ -38,7 +38,7 @@ func NewClient(instance *types.Instance, proxyHost string) (*client.Client, erro tlsConfig.Certificates = []tls.Certificate{tlsCert} } } else { - host = router.EncodeHost(instance.SessionId, instance.RoutableIP, router.HostOpts{EncodedPort: 2376}) + host = router.EncodeHost(instance.SessionId, instance.RoutableIP, router.HostOpts{EncodedPort: 2375}) } transport := &http.Transport{ diff --git a/provisioner/dind.go b/provisioner/dind.go index 3f94d0a..1813e43 100644 --- a/provisioner/dind.go +++ b/provisioner/dind.go @@ -29,10 +29,9 @@ func NewDinD(generator id.Generator, f docker.FactoryApi, s storage.StorageApi) } func checkHostnameExists(sessionId, hostname string, instances []*types.Instance) bool { - containerName := fmt.Sprintf("%s_%s", sessionId[:8], hostname) exists := false for _, instance := range instances { - if instance.Name == containerName { + if instance.Hostname == hostname { exists = true break } diff --git a/scheduler/task/check_swarm_ports.go b/scheduler/task/check_swarm_ports.go index c84c3d1..51254e4 100644 --- a/scheduler/task/check_swarm_ports.go +++ b/scheduler/task/check_swarm_ports.go @@ -2,7 +2,6 @@ package task import ( "context" - "fmt" "log" "github.com/play-with-docker/play-with-docker/docker" @@ -53,17 +52,12 @@ func (t *checkSwarmPorts) Run(ctx context.Context, instance *types.Instance) err log.Println(err) return err } - instances := make([]string, len(hosts)) - sessionPrefix := instance.SessionId[:8] - for i, host := range hosts { - instances[i] = fmt.Sprintf("%s_%s", sessionPrefix, host) - } ports := make([]int, len(ps)) for i, port := range ps { ports[i] = int(port) } - t.event.Emit(CheckSwarmPortsEvent, instance.SessionId, DockerSwarmPorts{Manager: instance.Name, Instances: instances, Ports: ports}) + t.event.Emit(CheckSwarmPortsEvent, instance.SessionId, DockerSwarmPorts{Manager: instance.Name, Instances: hosts, Ports: ports}) return nil } diff --git a/www/assets/app.js b/www/assets/app.js index cea961a..558f67d 100644 --- a/www/assets/app.js +++ b/www/assets/app.js @@ -23,6 +23,7 @@ $scope.sessionId = SessionService.getCurrentSessionId(); $scope.instances = []; $scope.idx = {}; + $scope.idxByHostname = {}; $scope.selectedInstance = null; $scope.isAlive = true; $scope.ttl = '--:--:--'; @@ -106,6 +107,7 @@ $scope.instances.push(i); i.buffer = ''; $scope.idx[i.name] = i; + $scope.idxByHostname[i.hostname] = i; } else { $scope.idx[i.name].ip = i.ip; $scope.idx[i.name].hostname = i.hostname; @@ -170,6 +172,7 @@ var instance = i.instances[k]; $scope.instances.push(instance); $scope.idx[instance.name] = instance; + $scope.idxByHostname[instance.hostname] = instance; } var socket = io({ path: '/sessions/' + sessionId + '/ws' }); @@ -267,7 +270,7 @@ socket.on('instance docker swarm ports', function(status) { for(var i in status.instances) { var instance = status.instances[i]; - $scope.idx[instance].swarmPorts = status.ports; + $scope.idxByHostname[instance].swarmPorts = status.ports; } $scope.$apply(); });